![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
23种设计模式
鸡毛陈
学海无涯,知行合一。
展开
-
23种设计模式学习之:面向对象6大基本原则
一、单一职责原则 就一个类而言,应该仅有一个引起它变化的原因。 此原则使用与所有的模块化程序设计,一个类只负责一项职责,提高可读性、可维护性及可扩展性。 二、开放-封闭原则 软件实体(类、模块、等等)面向扩展开放,面向修改封闭。 扩展很好理解,但是要做到严格的封闭是很难的,最好把容易发生变化的部分抽象出来以隔离以后发生的同类变...原创 2019-05-30 20:57:28 · 532 阅读 · 0 评论 -
23种设计模式学习之:桥接模式
桥接模式:将抽象部分与它的实现部分分离,使它们都可以独立的变化。java例子://接口public interface Car { public void car();}//实现类public class MaseratiCar implements Car{ @Override public void car() { System.out.println("我是Mase...原创 2019-06-11 07:01:39 · 127 阅读 · 0 评论 -
23种设计模式学习之:外观模式
外观模式:为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层 接口,这个接口使得这一子系统更加容易使用。java例子://股票1public class Stock1 { public void buy(){ System.out.println("股票1买入"); } public void sell(){ System.out.println("股票1卖出");...原创 2019-06-10 23:42:02 · 102 阅读 · 0 评论 -
23种设计模式学习之:代理模式
代理模式:为其他对象提供一种代理以控制对这个对象的访问。java例子:未完待续原创 2019-06-10 22:48:34 · 210 阅读 · 0 评论 -
23种设计模式学习之:装饰器模式
装饰模式:动态的给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。java例子:下面是java中I/O使用的例子//FilterInputStreampublic class FilterInputStream extends InputStream { protected volatile InputStream in; protected Filter...原创 2019-06-09 17:08:29 · 123 阅读 · 0 评论 -
23种设计模式学习之:适配器模式
适配器模式:将一个类的接口转换成客户希望的另一个接口。使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。java例子:public class InputStreamReader extends Reader { private final StreamDecoder sd; public InputStreamReader(InputStream in) { ...原创 2019-06-09 07:06:12 · 129 阅读 · 0 评论 -
23种设计模式学习之:原型模式
原型模式:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。java例子://carpublic class Car implements Serializable{ private static final long serialVersionUID = 1L; public String type;}//浅复制public class CarProduct i...原创 2019-06-08 00:04:44 · 88 阅读 · 0 评论 -
23种设计模式学习之:建造者模式
建造者模式:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。java例子://Car产品类public class Car { List<String> parts = new ArrayList<String>(); public void add(String part){ parts.add(part); } public...原创 2019-06-07 23:01:54 · 126 阅读 · 0 评论 -
23种设计模式学习之:单例模式
单例模式保证一个类仅有一个实例,并提供一个访问它的全局访问点。我们来看下实现单例模式的几种方式:非线程安全:1.饿汉模式public class Singleton { private static Singleton instance = new Singleton(); private Singleton(){ } public static Singleton getIns...原创 2019-06-07 08:59:51 · 96 阅读 · 0 评论 -
23种设计模式学习之:工厂方法模式和抽象工厂模式
一、 工厂方法模式:定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。参照简单工厂的学习,看下java示例。java例子://工厂接口public interface CarFactory { public Car choseCar();}//MaseratiFactorypublic class MaseratiFactory imp...原创 2019-06-06 21:33:23 · 207 阅读 · 0 评论 -
23种设计模式学习之:UML类图
UML类图:虚线箭头指向依赖;实线箭头指向关联;虚线三角指向接口;实线三角指向父类;空心菱形能分离而独立存在,是聚合;实心菱形精密关联不可分,是组合。转自作者wall-ee...转载 2019-06-01 15:41:53 · 105 阅读 · 0 评论 -
23种设计模式学习之:设计模式分类
设计模式分为3类:一、 创建型模式1、工厂方法模式2、抽象工厂模式3、单例模式4、建造者模式5、原型模式二、结构型模式1、适配器模式2、装饰模式3、代理模式4、外观模式5、桥接模式6、组合模式7、享元模式三、行为型模式1、策略模式2、模板方法模式3、观察者模式4、迭代子模式5、责任链模式6、命令模式7、备忘录模式8、状态模式9、访问者模式10、中介...原创 2019-05-31 07:50:01 · 286 阅读 · 0 评论 -
23种设计模式学习之:简单工厂模式
简单工厂并不属于23种GOF设计模式之一,在学习其它模式之前,我们有必要了解下,这些简单的工厂模式。简单工厂模式分为3种:一、普通工厂模式:就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建。java例子://接口Carpublic interface Car { public void drive();}//实现类Maseratipublic class Maser...原创 2019-06-04 22:36:05 · 150 阅读 · 0 评论