设计模式01:面向对象7大原则
UML
1.UML是一个通用的可视化建模语言,不同于编程语言,它通过一些标准的图形符号和文字来对系统进行建模
2.UML结构包括视图、图、模型元素、通用机制
3.UML5种视图:用户视图、结构视图、行为视图、实现视图、环境视图
用户视图:所有视图的核心
结构视图:系统的静态行为
行为视图:系统的动态行为
实现视图:逻辑元素的分布,文件以及他们之间的关系
环境视图:物理元素的分布,硬件设备以及他们之间的关系
4.UML类之间的关系:关联关系、依赖关系、泛化关系、实现关系
设计模式
使用设计模式是为了可重用代码、让代码更容易被他人理解、提高代码的可靠性
1.关键元素:模式名称、问题、解决方案、效果
2.根据目的分为:创造型、结构型、行为型
创建型模式主要用于创建对象
结构型模式主要用于处理类或对象的组合
行为型模式主要用于描述类或对象如何交互和怎样分配职责
3.根据范围分为:类模式、对象模式
类模式处理类和子类之间的关系,这些关系通过继承建立,在编译时刻就被确定下来,是一种静态关系
对象模式处理对象间的关系,这些关系在运行时变化,更具动态性
面向对象设计7大原则原则
对于软件系统,可维护性和可复用性是两个独立的目标原则。
单一职责原则、开闭原则、里氏代换原则、依赖倒转原则、接口隔离原则、合成复用原则、迪米特法则
1.单一职责原则:
一个类(大到模块,小到方法)承担的职责越多,它被复用的可能性就越小。
单一职责原则是实现高内聚、低耦合的指导方针
2.开闭原则
一个实体对扩展开放,对修改关闭,是指软件实体应尽量在不修改原有代码的情况下进行扩展
3.里氏代换原则
在软件中如果能够使用基类对象,那么一定能够使用其子类对象。
4.依赖倒转原则
高层模块不应该依赖低层模块,它们都应该依赖抽象。抽象不应该依赖于细节应该依赖于抽象。要针对接口编程,不要针对实现编程。
5.接口隔离原则
客户端不应该依赖那些它不需要的接口。
6.合成复用原则
合成复用原则又称为组合/聚合复用原则(Composition/ Aggregate ReusePrinciple,CARP)
优先使用对象组合,而不是继承来达到复用的目的。
7.迪米特法则
迪米特法则又称为最少知识原则(Least Knowledge Principle,LKP)
迪米特法则要求在设计系统时,应该尽量减少对象之间的交互。
通过引入一个合理的“第三者”(中间类)来降低现有对象之间的耦合度