摘要: 抽象工厂模式。 我们需要一个抽象工厂,不同的具体工厂继承抽象工厂。具体的工厂不再生产单一的产品,而是生产一系列的产品,可以具体工厂生产的一系列的产品每一个类进行抽象,对这一系列产品设置好该具体工厂应该产生的类型。 举例: 水果抽象工厂,有两个具体工厂继承 南方水果工厂,北方水果工厂。 两个具体的工厂 阅读全文
posted @ 2023-10-23 23:45 NobodyHero 阅读(14) 评论(0) 推荐(0)
摘要: 一对多的依赖关系。 对象的状态发生改变(一),依赖对象得到通知并进行更新操作。 观察者: 这里的Observer定义了观察者的通用的方法update,在这里重写了update方法。 被观察对象的类: 被观察对象类继承被观察对象接口Observable,这个接口 维护一个观察者列表,一个changed 阅读全文
posted @ 2023-10-23 23:21 NobodyHero 阅读(15) 评论(0) 推荐(0)
摘要: 首先需要一个建造者抽象类,抽象方法代表建造的过程。 需要一个指挥者类,来指挥建造的流程,这个流程是固定的。 建造的对象 想要建造的效果,是具体的建造过程,返回一个实例对象代表完成最终的建造。 最终的调用代码: 建造者模式,通过建造者指定的接口,具体的建造类型实现接口写出具体的实现类,留一个获取建造对 阅读全文
posted @ 2023-10-23 22:51 NobodyHero 阅读(10) 评论(0) 推荐(0)
摘要: 首先要有一个抽象的模板方法,给出大致的框架。 抽象模板方法有接口 模板方法接口的所有方法都用抽象方法来写,这样可以延迟到子类中去加载。 阅读全文
posted @ 2023-10-23 22:32 NobodyHero 阅读(13) 评论(0) 推荐(0)
摘要: 原型模式的深浅克隆 首先有person这个概念 什么是深克隆和浅克隆? 浅克隆:创建一个新对象,新对象的属性和原来对象完全相同,对于非基本类型属性,仍指向原有属性所指向的对象的内存地址。 浅克隆只复制指向某个对象的引用,而不复制对象本身,新旧对象还是共享同一块内存,修改对象会改到原对象 深克隆:创建 阅读全文
posted @ 2023-10-23 08:16 NobodyHero 阅读(8) 评论(0) 推荐(0)
摘要: 简单工厂的最大优点是在工厂类中完成了必要的逻辑判断,根据客户端的条件动态实例化相关的类即可。 但是缺点也在这里,如果我要添加一个case选择,就需要修改原有的类,等于说对扩展开发了的同时也对修改开放了,违反了开放封闭原则。 工厂方法模式,通过抽象工厂的选择,定义一个用于创建对象的接口,让子类决定实例 阅读全文
posted @ 2023-10-23 07:50 NobodyHero 阅读(12) 评论(0) 推荐(0)