个人才疏学浅,不喜勿喷。
1.创建型模式:主要是关注于对象如何创建。
2.结构型模式:主要关注对象如何组合再一起,形成新的-更大的结构。
3.行为型模式:主要关注对象/类直接如何沟通,各个类需要承担的责任。
创建型模式:经典的有 单列 工厂 原型 构建者模式
其中构建者模式builder 在 项目使用 的过程。
当一个类的成员变量超过一定数量的时候,就可以使用构建者模式。因为这个时候使用单纯的重载构造函数会有巨大的痛苦,下面列出详细步骤。
1.在该类中先声明一个名为Builder的内部类,同时将这个内部类对象作为该类的构造函数的参数,从该内部类中获取变量并赋值。该构造函数私有的,不能外部调用,只能内部调用。
2.将外部类的所有成员变量都复制到一份该内部类中,在内部类的构造方法中,传入必需的参数并赋值给内部类的成员变量,其他参数生成set方法,赋值同时并返回该内部类对象本身,
3.然后再声明一个名为一个build()的方法,返回 一个new 的外部类,同时将该内部类当作参数传入。
使用:new MyBuilderMode.build("","").setName().build(),来生成对象。
参考网址
结构模式:适配器模式
关键代码:适配器继承或依赖已有的对象,实现想要的目标接口。
适配器继承或依赖已有的对象(这里指的时直接引入原对象),实现想要的目标接口,要求目标对象是个接口。
在适配器模式中,有三个角色:1.目标对象 2. 原对象,需要适配的对象 3.适配器
新建一个适配器类,实现目标对象,继承或者依赖 原对象,实现新的接口。
使用:用源对象去引用一个适配器对象,然后根据适配器对象去调用。
桥接模式:根据《图解设计模式 》这本书中指出,桥接模式是将类的功能层次结构和类的实现层次结构分隔开。关于这两个的区别,请看这本书中的描述,很清楚。YYDS。我看完就很清楚了。类的功能层次结构就是指的是继承这种关系,而类的实现层次结构指的是抽象类和实现抽象类的关系,这种并没有新增功能,只是添加了不同的实现,而继承一般是会添加新功能的,所以这个是区别。
代码实现:类的功能实现中,需要引用一个类的实现的引用,该类的所有实现都通过类的实现引用去实现(这个引用就是桥接中的桥梁 )。2.增加新的类的功能实现类。3。定义类的实现类,就是定义一个抽象类。4,有很多实现类的实现类的类。
使用:通过在类的功能实例中传入不同的类的实现实例来实现不同的功能。
组合模式:当子类和父类有包含关系并且很相似时,比如文件件和文件的关系。可以定义了一个抽象的公共父类,子类和父类都实现他,最关键的是,需要在类中包含一个list,list里面的对象是自身的公共父类的类型。就可以了。
结构模式: 模板模式:核心就是抽象类,父类的抽象类中定义了抽象方法,最重要的是定义了好了调用流程,子类需要实现父类中的抽象方法,但不能重写调用流程的方法。