Skip to content

设计模式示例代码,包含23 种设计模式。未完待续

Notifications You must be signed in to change notification settings

527515025/design_pattern

Repository files navigation

OOP三大基本特性

封装

封装,也就是把客观事物封装成抽象的类,并且类可以把自己的属性和方法只让可信的类操作,对不可信的进行信息隐藏。

继承

继承是指这样一种能力,它可以使用现有的类的所有功能,并在无需重新编写原来类的情况下对这些功能进行扩展。

多态

多态指一个类实例的相同方法在不同情形有不同的表现形式。具体来说就是不同实现类对公共接口有不同的实现方式,但这些操作可以通过相同的方式(公共接口)予以调用。

面向对象OOD 7大原则

##单一职责原则

高内聚:自己能做的就不麻烦别人,类之间不要产生太强的耦合。每个类应该只有一个职责。单一原则就是为了把功能细化,细化再细化,每个东西只负责一件事情。

单一职责原则是实现高内聚、低耦合的指导方针,它是最简单但又最难运用的原则。单一职责原则最难划分的就是职责。需要从实际的项目去考虑

接口隔离的原则

接口要尽量小,定制服务:一个接口只服务于一个子模块或业务逻辑。根据经验和常识决定接口的粒度大小

开放封闭原则

核心思想:一个对象对扩展开放,对修改关闭。其含义是说一个软件实体(类)应该通过扩展来实现变化,而不是通过修改已有的代码来实现变化。

依赖倒置原则

低耦合:依赖倒置原则 可以减少类间的耦合性

  • 要依赖于抽象,不要依赖于具体实现
  • 高层模块不应该依赖低层模块,两者都应该依赖其抽象
  • 抽象不应该依赖细节,细节应该依赖抽象

依赖倒置更加精简的定义就是**“面向接口编程”**。依赖正置是面向实现编程。因为里氏替换才可以实现依赖倒置;因为依赖倒置才可以实现开闭原则

里氏代换原则

低耦合:在任何父类出现的地方都可以用它的子类来代替。

迪米特法则

低耦合:一个对象,应到当对其他对象尽可能少的了解

迪米特法则:最少知识原则,一个类应该对自己需要耦合或调用的类知道得最少。在设计结构上,每一个类都应当尽量降低成员的访问权限。其根本思想就是强调了类之间的松耦合

迪米特法则要求类“羞涩”一点,尽量不要对外公布太多的public方法和非静态的public变量,尽量内敛,多使用private、package-private、protected等访问权限。

合成聚合复用原则

Composite/Aggregate Reuse Principle(CARP / CRP),合成/聚合复用原则。如果新对象的某些功能在别的已经创建好的对象里面已经实现,那么应当尽量使用别的对象提供的功能,使之成为新对象的一部分,而不要再重新创建。新对象可通过向这些对象的委派达到复用已有功能的效果。简而言之,要尽量使用合成/聚合,而非使用继承。桥接模式即是对这一原则的典型应用。

Design_pattern

  • 创建类:工厂方法模式、建造者模式、抽象工厂模式、单例模式、原型模式(5种)

  • 结构类:适配器模式、桥梁(接)模式、组合模式、装饰模式、门面模式、享元模式、代理模式。(7种)

  • 行为类:责任链模式、命令模式、解释器模式、迭代器模式、中介者模式、备忘录模式、观察者模式、状态模式、策略模式、模版方法模式、访问者模式(11种)

#创建类代码示例 ##工厂方法模式 、抽象工厂模式

##单例模式

  • singleton 是单例模式的代码示例

##原型模式

##建造者模式

#结构类代码示例 ##代理模式

#行为类代码示例 ##中介者模式

##模版方法模式

责任链莫斯

  • responsibilityChain 是责任链模式的代码示例

命令模式

  • responsibilityChain 是责任链模式的代码示例

桥接模式

  • bridgePattern 是桥接模式的代码示例

所有案例来自《设计模式之禅(第2版)》 未完待续。。。

About

设计模式示例代码,包含23 种设计模式。未完待续

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages