GoF
文章平均质量分 51
霜序0.2℃
风信子
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
OOP七大原则
OOP七大原则 开闭原则 对拓展开发,对修改关闭 即不改变原来的程序,而是在其基础上拓展 里氏替换原则 继承必须保证超类所拥有的性质在子类中依然成立 可以写子类来添加新功能,但是尽量不要改变父类原有的功能,如果修改了父类,那整个继承体系的复用就会越来越差 依赖倒置原则 要面向接口编程,不要面向实现编程 降低程序之间的耦合性,抽象不依赖细节,细节依赖抽象 单一职责原则 控制类的粒度大小,将对象解耦,提高其内聚性 尽量保证,一个方法只做一件事情 接口隔离原则 要为各个类建立它们需要的专用接口原创 2021-02-23 21:34:47 · 199 阅读 · 0 评论 -
观察者模式简单例子
观察者模式 核心:在抽象类里有一个 ArrayList 存放观察者们 代码不算完整,那个table的展示省略 package com.cai.observer; import java.util.ArrayList; import java.util.List; /** * @Description * @Author Cai * @Create 2021-06-12-15:34 */ interface Table { void show(); void notifyData原创 2021-06-12 16:12:03 · 243 阅读 · 0 评论 -
访问者模式的一个小例子
用junit来测试代码 public class fwzTest { @Test public void Test1(){ VistorBei girl = new Girl(); VistorBei guy = new Guy(); China china = new China(); china.add(girl); china.add(guy); Vistor enemy = new En原创 2021-06-02 13:45:03 · 196 阅读 · 0 评论 -
适配器模式
文章目录适配器模式类适配器缺点对象适配器优点代码演示 适配器模式 适配器模式是一种结构型设计模式 简单说,就像网线和没有网线接口的电脑一样,需要一个适配器(中间者)进行转换 在代码中体现的就是 把这个类转换成客户希望的另一个类 不兼容的类能一起运行 而细分适配器又分两类 类适配器 类的适配器,就是对类的适配 举个例子:假设 #mermaid-svg-5aTtS4J2RjA4g4QD .label{font-family:'trebuchet ms', verdana, arial;font-family原创 2021-03-15 12:32:44 · 165 阅读 · 0 评论 -
策略模式
文章目录设计场景代码策略模式优点和缺点是抄的,你自己看看问题,理解理解 设计场景 动作冒险游戏,游戏中有一系列角色(Character),包括国王(King)、皇后(Queen)、骑士(Knight)、妖怪(Troll),这些角色可以在游戏中每一次使用一个武器(Weapon)来攻击对方,并且可以在运行时切换武器,为了增加游戏的乐趣,可以有的武器包括:匕首、宝剑、斧头、弓箭等等,可能以后又更时髦的武器出现。请设计该场景。 从游戏的场景看:角色、武器应设计为聚合关系 从字面上看:角色使用武器攻击对方角色,临时依原创 2021-03-10 15:53:44 · 356 阅读 · 0 评论 -
类或对象的基本关系 关联 组合 聚合 依赖
文章目录关联组合聚合依赖 关联 关联,关联关系是一个笼统的说法,实际包括两个具体方式即组合和聚合 组合 我们看一下代码 Public class A { Private B b=new B(); } 我们知道,组合是一种强联系的关系,比聚合的关系更加紧密 类比人和手,手组成了人,手是人的一部分,手是不能换的,这就是组合关系 像上面的代码显示:A类对象创建时,B类对象也创建了,是一体的 聚合 Public class A { Private B b; Public set(B b){ This.b原创 2021-03-10 14:33:13 · 220 阅读 · 0 评论 -
原型模式
文章目录原型模式实现形式代码实现应用 原型模式 即对于对象,我们通过类似复制的形式进行克隆,对于创建对象代价较大时,使用new进行创建就会使效率低下,使用原型模式就会提高效率 需要注意的就是深克隆和浅克隆 实现形式 实现Cloneable接口 重写clone方法 代码实现 @Data @NoArgsConstructor @AllArgsConstructor public class Pig implements Cloneable{ private int weight; private原创 2021-03-09 20:18:36 · 168 阅读 · 0 评论 -
工厂模式(一)
文章目录简单工厂模式工厂方法模式总结 工厂方法的目的: 将实现类和实体类中间多加一层,使实体类统一调度,而我们只需要接触那个中间层,使实现类和实体类解耦(简单说就是在main函数里不要new实体类的对象,由创建该对象的工厂去控制,这时候new的是工厂,而不是main) D:. ├─method │ Consumer.java │ Filco.java │ FilcoFactory.java │ KeyBoard.java │ KeyBoardFactory.原创 2021-03-08 11:55:01 · 218 阅读 · 0 评论
分享