一、设计模式一些基本概念

一、设计模式的分类:

常用的设计模式分为:创建型模式、结构型模式和行为型模式三种;

1.1 创建型模式:

将系统与的对对象创建、结合、表示的方式分离。这类设计模式在对象创建的类型、主题、方式、时间等方面提高了系统的灵活性^1。
备注:创建型模式的关注点是如何创建对象,其核心思想是把对象的创建和使用分离。
包括:单例、原型、工厂方法、抽象工厂、建造者等5种模式。

1.2 结构型模式:

用于描述将类或对象按照某种布局组合成更大的结构。
包括:代理、适配器、桥接、装饰、外观、享元、组合等7种模式。

1.3 行为型模式:

用于描述类或对象之间相互协作完成单个对象无法完成的任务。
包括:模板、策略、命令、责任链、状态、观察者、中介、迭代器、访问者、备忘录、解释器等11种模式。

二、UML 与 类图

类图是UML (Unified Modeling Language)图的一种,是一种静态结构图,用于描述模型中的类、类的内部结构及类之间的关系。

2.1 类和类之间的关系:

1、依赖(Dependency): 是一种使用关系。对象之间耦合度最弱的一种关联方式。如一个类的方法使用另一个类的对象作为参数。

2、实现(Relization): 接口与实现类之间的关系。

3、聚合(Aggregation): 是整体和个体或部分之间的关系。

4、组合(Composition): 是一种更强烈的整体与部分的关系。整体对象要负责代表整体或个体对象的整体生命周期。个体对象不能脱离整体对象而存在。

5、继承(Inheritance): 对象之间耦合度最强的一种关系,是父类和子类之间的关系。
关联关系(Association): 是类与类之间最常用的一种关系,包括双向关系、单项关联、自关联、多重关联、组合、聚合。

Dependency
Realization
Aggregation
Composition
Inheritance
Association
classK
classL
classM
classN
classE
classF
classC
classD
classA
classB
classG
classH

备注:1、继承与实现图示的箭头应该为空心三角形。
    2、组合与聚合关系图中,箭头指向整体对象。

三、软件设计原则(SOLID)

3.1 单一职责原则(Single Responsibility Principle):

一个对象应该只包括单一的职责,并且该职责被完整的封装在一个类中。

3.2 开闭原则(Open Close Principle):

对扩展开放,对修改关闭(使用接口和抽象类)。

3.3 里氏替换原则(Liskov Substitution Principle):

任何基类可以出现的地方,子类一定可以出现。

3.4 接口隔离原则(Interface Segregation Principle):

一个类对另一个类的依赖应该建立在最新的接口上。

3.5 依赖倒转原则(Dependency Inversion Principle):

高层模块不应该依赖底层模块,两者都应该依赖抽象。抽象不应该依赖细节,细节应该依赖抽象。即要的抽象进行编程,不要对实现进行编程。

3.6 合成复用原则

类的复用分为继承复用和合成服用两种。尽量使用聚合或组合等关联关系,其次考虑使用继承关系。
继承复用的缺点:
1、破坏了类的封装性。
2、子类与父类的耦合度高。
3、限制了复用的灵活性。

你可能感兴趣的:(设计模式,设计模式)