避免在类设计上混合 Owner 及 View 语义
这个论断来自于前段时间重构 pickle 时的想法。
The Big Picture
Pickle 是一个二进制序列化设施,内部维护一块 buffer 用以保存被序列化的二进制数据,语义上看,一个 Pickle 对象对内部 buffer 具有无争议的 resource owner 语义。
这个论断来自于前段时间重构 pickle 时的想法。
Pickle 是一个二进制序列化设施,内部维护一块 buffer 用以保存被序列化的二进制数据,语义上看,一个 Pickle 对象对内部 buffer 具有无争议的 resource owner 语义。
昨天在给 KAdBlockEngine 的 AdFilter 加上序列化/反序列化的支持时,意外的又一次被 data type promotion 坑了,导致一晚上的时间都在 debug…
模板参数类型约束在 C++ 中一直以来大概得算不上不下的一个处境。
因为非运行时(编译期)的优势,对于参数类型约束的需求不像 C# 那样紧迫;但是同时又因为实例化完成的时期过早,编译器对于模板代码的处理并不能上升到一个精确的语义层次,导致的后果就是模板相关的代码的出错信息一直在井喷,而且相当一部分的错误信息完全没有卵用。
因为需求需要,把某个功能拆分成一个独立的服务,并由一个全局的 service manager 去控制这个服务;服务对客户端暴露的实现也是通过 service manager。
因为服务不需要运行在一个独立进程,manager 和 service 直接通过一个包含服务对象的 local binder 相互通信,看上去大概就这样:
在 Android 正式支持 data binding & MVVM 之前,MVP 可以算是最好的 android app 架构模式。
但是直到前不久,Google 才在 github 上提供了推荐的 android-mvp 做法。