架构师训练营 Week2 总结
1.SOLID原则
1.1 开闭原则
修改关闭、扩展开放。可以结合策略模式、适配器模式等进行抽象和封装。
1.2 依赖倒置原则
高层不依赖底层,而且他们都应该依赖抽象(接口),典型如框架(tomcat、spring等),好莱坞原则(Don't call me,I will call you)
1.3 里氏替换原则
需要放到具体场景中进行判断是否满足里氏替换原则,任何父类出现的地方,都能用子类进行替换,并且不影响程序正常运行。
1.4 单一职责
也称为SRP(内聚性原则)。一个类,只能有一个引起它变化的原因。
职责定义:一个职责是一个变化的原因。
违反SRP后果:脆弱、不可移植。
有时区分一个类包含了几个职责并不明显,何时分离职责?当变化发生时。
1.5 接口隔离
不应该强迫客户程序依赖它们不需要的方法。接口隔离和单一职责区别:
单一职责指出如何设计一个类--只能有一种原因才能促使类发生改变。
接口隔离指出如何设计一个接口--从客户的需要出发,强调不让客户看到的方法。
2.设计模式
设计模式是用于解决某一种问题的通用的解决方案。
设计模式也是语言中立的。
设计模式贯彻了设计原则。
Gang of Four(Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides)提出了三
大类23种基本的设计模式:
• 创建模式
• 行为模式
• 结构模式
3.框架
框架是用来实现某一类应用的结构性的程序, 是对某一类架构方案可复用的设计与实现
如同框架结构的大厦的框架
简化应用开发者的工作
实现了多种设计模式,使应用开发者不需要花太大的力气,就能设计出结构良好的程序来
不同领域的框架
微软公司为Windows编程开发了MFC框架。
Java为它的GUI(图形用户界面)开发了AWT框架。
还有许多开源的框架:MyBatis,Spring等。
Web服务器也是框架:Tomcat
框架 VS 工具
框架调用应用程序代码
应用程序代码调用工具
架构师用框架保证架构的落地
架构师用工具提高开发效率
4.总结
原则和设计模式都是前人的对于编程经验的总结,不是说非得要用设计模式和原则进行编程,但如果能利用好这些原则和设计模式,能编写出更加灵活、高可扩展、更加健壮的程序,这在越大型项目中效果越明显。没有设计模式和原则的程序,犹如没有灵魂一般。设计模式和原则可以看做程序员的内功心法。
版权声明: 本文为 InfoQ 作者【lggl】的原创文章。
原文链接:【http://xie.infoq.cn/article/124a69e694492103a4c304e83】。
本文遵守【CC BY-NC】协议,转载请保留原文出处及本版权声明。
评论