SOLID软件设计原则大名鼎鼎,但是它在实际的软件开发过程中的应用很不充分,互联网移动开发又有它自己的特点。结合最近阅读《架构整洁之道》和我在互联网行业移动开发的经验,关于软件设计原则在移动端开发的应用,总结起来大概是这样的。

跳出面向对象的窠臼,设计原则就是设计原则,它不仅仅针对面向对象,不一定要用继承、封装、多态,也需要考虑组合等方式。 面向对象原则的SOLI都需要无条件的遵守,只要违背一定会遭受损失;D原则成本比较高,可以权衡成本。 SOLID原则不是细则,所以充分理解和梳理业务逻辑,是正确应用软件设计原则的前提,否则无从下手。 互联网移动端软件一般业务优先,往往代码质量稀烂,这时候要求设计师“脚踩烂泥,眼望星空”,在稀烂的代码当中,不要忘记软件设计原则。 设计原则不是银弹,但是它可以保证软件下限,遵守SOLID的设计,不会变的太烂。 自动测试成本偏高,基础建设成本高,可测试性差,边际成本可以低,可以作为最后一道防线,对于核心数据相关功能、SDK等基础模块,是非常必要的,可以起到说明文档的作用。 两个熟悉代码的人互相审核设计结构和代码,可以帮助发现设计问题,自己设计,问题很难自己发现,或者等到出现不良影响以后才能发现。 基础的SDK模块,要提供设计合理、结构清晰的示范代码,因为别人不会下功夫理解你的设计精妙之处,都是先抄过来用的。