设计模式遵循六大准则:
- 繁多职责:一个类和办法只做一件事。
- 里氏替换:多态、子类可扩大父类。
- 依赖倒置:细节依赖形象,上层依赖下层。
- 接口隔离:建设繁多接口。
- 迪米特准则:起码晓得,升高耦合。
- 开闭准则:形象架构,扩大实现。
创立型模式
解决的问题
根本的对象创立形式可能会导致设计上存在问题,或减少设计的复杂度。创立型模式通过以某种形式管制对象的创立来解决问题。
定义
创立型模式是解决对象创立的设计模式,试图依据理论状况应用适合的形式来创建对象。创立型模式旨在将零碎与其对象创立、联合、示意的形式拆散,从而让对象创立在类型、主体、形式、工夫等方面进步了零碎的灵活性。
主导思维
- 将零碎应用的具体类封装起来。
- 暗藏这些具体类的实例创立和联合的形式。
分类
- 对象创立模式:解决对象的创立,行将对象创立的一部分推延到另一个对象中。
- 类创立模式:解决类的创立,行将其对象的创立推延到子类中。
利用场景
软件工程往往依赖于对象的组合,而不是类的继承,强调将硬编码的行为转变为定义以组根本行为来组合成简单的行为。
硬编码毛病:硬编码的行为不灵便,一旦产生设计的变更,往往须要重写或从新实现能力实现。其次,硬编码重用性不高,无奈对谬误进行跟踪。
基于以上问题,创立型模式应运而生,创建者模式使设计变得更加灵便,提供不同的形式,从代码中移除了对须要实例化的具体类的援用,加强了对象与类之间的独立思想。
在以下场景中,往往实用创立型模式:
- 一个零碎须要其对象和产品的创立相互独立。
- 一组相干的对象被设计为独特应用。
- 暗藏一个类库的具体实现,仅暴漏其接口。
- 创立独立简单对象的不同示意。
- 一个类心愿它的子类实现它所创立的对象。
- 类的实例化在运行时才指定。
- 一个类只能有一个实例,而且这个实例能在任何时候拜访到。
- 实例应该能在不批改的状况下具备可创立型。
具体实例
- 工厂办法模式:容许一个类的实例化推延到子类中进行,即在父类中提供一个创建对象的办法,容许子类决定实例化对象的类型。
- 形象工厂模式:提供一个创立相干或依赖对象的接口,而无需指定对象的具体类。
- 生成器模式:将一个简单对象的创立与其示意相拆散,使同样的创立过程能够创立不同的示意,即容许分步骤创立简单对象,可能应用雷同的创立代码生成不同类型和行是的对象。
- 原型模式:用原型实例指定要创立的对象,通过复制原型创立新的对象,即可能复制已有对象,而又无需使代码依赖其所属的类。
- 单例模式:保障一个类只有一个实例,并提供对这个实例的全局拜访形式。
参考链接
重学 Java 设计模式:https://segmentfault.com/a/11…
设计模式:https://refactoringguru.cn/de…