基于开源项目进行开发已经越来越普遍,WebKit和Android都有很多的深度定制的版本。
对这样庞大工程修改的逻辑越来越多,日后想要同步升级就要面对更大的复杂性和风险。跟随开源项目同步升级,寻求上层的创新和优化才比较适合未来的产品开发策略。深度定制的方式会遭遇越来越多的尴尬。
修改是必要的,但如何最大化地降低耦合和隔离对原生代码逻辑的修改?逻辑碎片的风险也许大家都体会过。以下是我对一个问题的思考,与大家分享,抛砖引玉。
2. 不同平台的修改逻辑混杂在一起。
在不同平台上的适配内容也不尽相同,所以其中有许多使用宏来区分系统的修改。
问题就是有没有可能将这些修改的实现放到独立的文件中去,在HTMLMediaElement中只做少量的修改,最大化的减少对原生代码的修改?或者是有规则的修改。总之要便于和最新的WebKit代码同步。
首先从设计上来看这个问题,可以将WebKit的实现视为核心逻辑,将我们的修改视为一个辅助逻辑或特殊逻辑。
这样就可以有一个设计上问题定义:把这部分逻辑从主逻辑中抽离的设计方法,但不改变原来的类的层次架构。? ?
参考: 自然而然的设计
? ? ? ? ?WebKit模块化分析
转载请注明出处: http://blog.csdn.net/horkychen
电话:400-123-4567
传 真:+86-123-4567
手 机:13800000000
邮 箱:admin@eyoucms.com
地 址:广东省广州市天河区88号