架构师 3 期 3 班 -week2- 总结
面向对象
面向对象语言与面向对象编程是2回事
面向对象语言是指提供了面向对象特性的支持的语言
面向对象编程是编写符合面相对象特性的代码
面向对象的3个特性
封装,继承,多态
面向对象设计的目的
高内聚,低耦合
* 易扩展:易于增加新的功能
* 更健壮:稳定、不容易出错
* 可移植:在多样的环境下运行
* 更简单:容易理解,容易维护
面相对象设计原则
SOLID原则
单一职责原则
Single Responsibility Principle,缩写为SRP
一个类或模块只负责完成一个职责或功能
开闭原则
Open Closed Principle,缩写OCP
软件实体(模块,类,方法等),应该对扩展开发,对修改关闭
开闭原则的关键是抽象
里式替换原则
Liskov Substitution Principle,缩写:LSP
子类对象能够替换程序中任何位置的父类出现的位置,并且可以正确执行
接口隔离原则
Interface Segregation Principle,缩写ISP
客户端不应该被强迫依赖它不需要的接口
依赖反转原则
Dependency Inversion Principle,缩写DIP
高层模块(调用者)不依赖低层模块(被调用者),高层模块和低层模块应该通过抽象相互依赖。
抽象不要依赖具体实现细节,具体实现细节依赖抽象
依赖倒置不只是倒置了依赖关系,也倒置了开发顺序和职责。
从底层模块提供接口和实现供高层模块调用,倒置成了高级模块定义接口供低层模块来实现。
软件设计中的问题
* 僵化性:系统很难修改,每一次改动都会设计很多其他部分的改动
* 脆弱性:对系统的改动很容易造成其他部分的各种问题
* 牢固性:很难拆分重用某一部分代码
* 粘滞性:做正确的事情比做错误的事情要困难,重构困难
* 不必要的复杂性
* 不必要的重复性
* 晦涩性:代码可读性差,其他人甚至设计人员本身都难以理解
框架
框架与工具的区别
1.框架调用应用程序,应用程序使用工具
2.架构师用框架保证架构的落地,架构师使用工具提高开发效率
框架的基本设计原则
依赖倒置原则
版权声明: 本文为 InfoQ 作者【zbest】的原创文章。
原文链接:【http://xie.infoq.cn/article/6ef435873ea90c95f2691aed9】。未经作者许可,禁止转载。
评论