Skip to content

Latest commit

 

History

History
51 lines (27 loc) · 2.99 KB

简介.md

File metadata and controls

51 lines (27 loc) · 2.99 KB

设计模式简介

设计模式是前辈从业务场景中抽象出来的实现方式,在不同语言中有不同的实现方式。 go中虽然看起来没有面向对象的特性,但其实是把这些特性以春风化雨般的方式融入到了语言本身,剥离了复杂的外表,让设计模式的使用更加灵活。

设计模式的六大原则

1. 开闭原则

一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。在软件的生命周期内,因变化、升级和维护对原有代码进行修改,可能会引入错误。所以当软件需要变是修改原有代码。

2. 里氏代换原则

任何基类可以出现的地方,子类-定可以出现。 里氏代换原则是继承复用的基石,只有当衍生类可以替换掉基类,软件单位的功能不受到影响时,基类才能真正被复用里氏代换原则是对开闭"原则的补充。实现"开闭"原则的关键步骤就是抽象化。而基类与子类的继承关系就是抽象化的具体实现,所以里氏代换原则是对实现抽象化的类的功能,但不能改变父类原有的功能。

3. 单一职责原则

一个类只负责一项职责。

4. 依赖倒置原则

高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。通俗的说:多用抽象的接口来描述相同的动作,降低实现这个动作。

5. 接口隔离原则

客户端不应该依赖它不需要的接口:一个类对另一个类的依赖应该建立在最小的接口上。

6. 迪米特法则

一个对象应该对其他对象保持最少的了解。类与类之间的关系越密切,耦合度越大,当-一个类发生改变时,对另一一个类的影响也越大。 到这里你也许觉得以上内容有点抽象,没关系,接下来学习具体的设计模式,慢慢就能理解了。从最简单的设计模式:单例模式开始讲起吧。

设计模式的分类

创建型模式

简单工厂模式(Simple Factory)

简单工厂模式(Simple Factory Pattern):定义一个工厂类,它可以根据参数的不同返回不同类的实例,被创建的实例通常都具有共同的父类。因为在简单工厂模式中用于创建实例的方法是静态(static)方法,因此简单工厂模式又被称为静态工厂方法(Static Factory Method)模式,它属于类创建型模式。

简单工厂模式的要点在于:当你需要什么,只需要传入一个正确的参数,就可以获取你所需要的对象,而无须知道其创建细节。简单工厂模式结构比较简单,其核心是工厂类的设计。

通俗易懂的讲就是,当我们想要创建一个对象的时候,调用同一个方法,传入不同的参数就可以返回给我们不同的对象了,当然,前提是这些对象对应的类都实现了相同的接口。

参考 https://juejin.im/post/5bdbcc08f265da61561eb493

工厂模式

结构型模式

行为型模式