随笔分类 -  DesignPattern

摘要:一、适配器模式介绍 二、适配器模式引入 需求: 1.类适配器模式 介绍: 代码实现(Java): //被适配的类 public class Voltage220V { //输出220V的电压 public int output220V() { int src = 220; System.out.pr 阅读全文
posted @ 2021-07-03 23:36 狂热搬砖家 阅读(43) 评论(0) 推荐(0) 编辑
摘要:一、建造者模式介绍 UML类图: 二、建造者模式引入. 需求: 1.传统方式: "产品"和"创建产品"的过程封装在一起。 代码实现(Java): public abstract class AbstractHouse { //打地基 public abstract void buildBasic() 阅读全文
posted @ 2021-07-02 00:02 狂热搬砖家 阅读(40) 评论(0) 推荐(0) 编辑
摘要:一、原型模式介绍 二、原型模式引入 需求: 传统方式UML类图: 代码实现(Java): public class Sheep { private String name; private int age; private String color; public Sheep(String name 阅读全文
posted @ 2021-07-01 22:11 狂热搬砖家 阅读(39) 评论(0) 推荐(0) 编辑
摘要:一、简单工厂模式 基本介绍: 需求: 简单工厂模式UML类图: 代码实现(Java) //将Pizza 类做成抽象 public abstract class Pizza { protected String name; //名字 //准备原材料, 不同的披萨不一样,因此,我们做成抽象方法 publ 阅读全文
posted @ 2021-07-01 21:23 狂热搬砖家 阅读(54) 评论(0) 推荐(0) 编辑
摘要:一、单例模式介绍 二、单例模式引入 1. 饿汉式(静态常量) 可用,不推荐 代码实现(Java) public class SingletonTest01 { public static void main(String[] args) { //测试 Singleton instance1 = Si 阅读全文
posted @ 2021-07-01 20:40 狂热搬砖家 阅读(35) 评论(0) 推荐(0) 编辑
摘要:一、创建型模式:都是用来帮助我们创建对象的!(关注对象的创建过程) 1.单例模式 保证一个类只有一个实例,并且提供一个访问该实例的全局访问点。 2.工厂模式("Gof book"中把工厂方法与抽象工厂分为两种模式,所以创建型模式共为五种,这里只是为了方便整理,合在了工厂模式中) -简单工厂模式 用来 阅读全文
posted @ 2021-06-30 23:21 狂热搬砖家 阅读(2028) 评论(0) 推荐(0) 编辑
摘要:一、UML基本介绍 二、UML图 三、UML类图 1.依赖关系 2.泛化关系(继承关系) 3.实现关系 4.关联关系 5.聚合关系 6.组合关系 UML类图图示样例:参考自《大话设计模式》 在idea中,以上所有关系在puml的写法如下: 阅读全文
posted @ 2021-06-30 22:58 狂热搬砖家 阅读(121) 评论(0) 推荐(0) 编辑
摘要:一、合成复用原则介绍 二、合成复用原则引入 UML类图: 三、七大设计原则核心思想 阅读全文
posted @ 2021-06-30 22:24 狂热搬砖家 阅读(51) 评论(0) 推荐(0) 编辑
摘要:一、迪米特法则介绍 二、迪米特法则引入 1.方式一(违反了迪米特法则) 代码及解析:在SchoolManager类的printAllEmployee方法中CollegeEmployee类 是以局部变量方式出现,这提升了两个类之间的耦合度,违反了迪米特法则。 public class Demeter1 阅读全文
posted @ 2021-06-30 22:14 狂热搬砖家 阅读(44) 评论(0) 推荐(0) 编辑
摘要:一、开闭原则介绍 二、开闭原则引入 1.方式一(违反了开闭原则) UML类图: 代码及解析:这里所有Shape类的子类为提供方,GraphicEditor类为使用方。当需要增加一个"三角形提供方"的时候,除了要新增一个三角形类,还要在使用方中新增type判断分支以及drawTriangle方法。这违 阅读全文
posted @ 2021-06-30 21:48 狂热搬砖家 阅读(100) 评论(0) 推荐(0) 编辑
摘要:一、里氏替换原则介绍 二、里氏替换原则引入 1.方式一(子类重写了父类的方法,违反了里氏替换原则) public class Liskov { public static void main(String[] args) { A a = new A(); System.out.println("11 阅读全文
posted @ 2021-06-30 21:09 狂热搬砖家 阅读(84) 评论(0) 推荐(0) 编辑
摘要:一、依赖倒转原则介绍 二、依赖倒转原则引入 1.方式一(传统方式) public class DependencyInversion { public static void main(String[] args) { Person person = new Person(); person.rec 阅读全文
posted @ 2021-06-30 20:47 狂热搬砖家 阅读(55) 评论(0) 推荐(0) 编辑
摘要:一、接口隔离原则介绍 二、接口隔离原则引入 1.方式一(违反了接口隔离原则) UML类图: 代码及解析:对A类来说,B类从接口中实现的4、5方法是多余的。对C类来说,D类从接口中实现的2、3方法是多余的。所以违反了接口隔离原则。 //接口 interface Interface1 { void op 阅读全文
posted @ 2021-06-30 20:31 狂热搬砖家 阅读(66) 评论(0) 推荐(0) 编辑
摘要:一、单一职责原则介绍 二、单一职责原则引入 1.方式一(违反了单一职责原则) 解析:摩托车、汽车是公路上运行的,但飞机并不是在公路上运行的。 public class SingleResponsibility1 { public static void main(String[] args) { / 阅读全文
posted @ 2021-06-30 19:34 狂热搬砖家 阅读(45) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2021-06-30 18:58 狂热搬砖家 阅读(43) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示