摘要:
一、IDEA如何使用PlantUML 参考链接:https://jingyan.baidu.com/article/363872ec9ad59b2e4aa16f72.html 二、IDEA中PlantUML类图语法和功能 参考链接:https://plantuml.com/zh/class-diag 阅读全文
摘要:
一、创建型模式:都是用来帮助我们创建对象的!(关注对象的创建过程) 1.单例模式 保证一个类只有一个实例,并且提供一个访问该实例的全局访问点。 2.工厂模式("Gof book"中把工厂方法与抽象工厂分为两种模式,所以创建型模式共为五种,这里只是为了方便整理,合在了工厂模式中) -简单工厂模式 用来 阅读全文
摘要:
一、UML基本介绍 二、UML图 三、UML类图 1.依赖关系 2.泛化关系(继承关系) 3.实现关系 4.关联关系 5.聚合关系 6.组合关系 UML类图图示样例:参考自《大话设计模式》 在idea中,以上所有关系在puml的写法如下: 阅读全文
摘要:
一、合成复用原则介绍 二、合成复用原则引入 UML类图: 三、七大设计原则核心思想 阅读全文
摘要:
一、迪米特法则介绍 二、迪米特法则引入 1.方式一(违反了迪米特法则) 代码及解析:在SchoolManager类的printAllEmployee方法中CollegeEmployee类 是以局部变量方式出现,这提升了两个类之间的耦合度,违反了迪米特法则。 public class Demeter1 阅读全文
摘要:
一、开闭原则介绍 二、开闭原则引入 1.方式一(违反了开闭原则) UML类图: 代码及解析:这里所有Shape类的子类为提供方,GraphicEditor类为使用方。当需要增加一个"三角形提供方"的时候,除了要新增一个三角形类,还要在使用方中新增type判断分支以及drawTriangle方法。这违 阅读全文
摘要:
一、里氏替换原则介绍 二、里氏替换原则引入 1.方式一(子类重写了父类的方法,违反了里氏替换原则) public class Liskov { public static void main(String[] args) { A a = new A(); System.out.println("11 阅读全文
摘要:
一、依赖倒转原则介绍 二、依赖倒转原则引入 1.方式一(传统方式) public class DependencyInversion { public static void main(String[] args) { Person person = new Person(); person.rec 阅读全文
摘要:
一、接口隔离原则介绍 二、接口隔离原则引入 1.方式一(违反了接口隔离原则) UML类图: 代码及解析:对A类来说,B类从接口中实现的4、5方法是多余的。对C类来说,D类从接口中实现的2、3方法是多余的。所以违反了接口隔离原则。 //接口 interface Interface1 { void op 阅读全文
摘要:
一、单一职责原则介绍 二、单一职责原则引入 1.方式一(违反了单一职责原则) 解析:摩托车、汽车是公路上运行的,但飞机并不是在公路上运行的。 public class SingleResponsibility1 { public static void main(String[] args) { / 阅读全文