设计模式
设计模式学习
jarvis314159
这个作者很懒,什么都没留下…
展开
-
代理模式笔记
代理模式提供了对目标对象另外的访问方式,即通过代理对象访问目标对象。这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能.具体参考:https://www.cnblogs.com/leeego-123/p/10995975.html静态代理静态代理在使用时,需要定义接口或者父类,被代理对象与代理对象一起实现相同的接口或者是继承相同父类.public interface IConsume { void getGoods();}public class原创 2020-10-10 20:45:34 · 103 阅读 · 0 评论 -
建造者模式笔记
建造者(Builder)模式的定义:指将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示建造者模式的4个角色: 1. Product(产品) 2. Builder(抽象构建者):创建一个产品Product对象的各个部件指定的接口/抽象类 3. ConcreteBuilder(具体构建者):实现接口,构建和装配各个部件 4. Director(指挥者):构建一个使用Builder接口的对象。主要用于创建一个复杂的对象,主要有两个作用: 1. 隔离客户和产品对象的生产过程原创 2020-10-07 13:49:10 · 85 阅读 · 0 评论 -
单例模式笔记
一. 饿汉式(静态常量)1. 构造器私有化(防止外界new)2. 类的内部创建对象3. 向外暴露一个静态的公共方法getInstance()class Singleton{ private static Singleton instance = new Singleton(); //接收唯一实例 private Singleton(){}; //显示地私有构造方法,使得外界无法new此类的实例 public static Singleton getInstance(){原创 2020-07-21 22:34:28 · 72 阅读 · 0 评论 -
UML类图笔记
UML类图UML类图:用于描述系统中类(对象)本身的组成和类(对象)之间的各种静态关系。类之间的关系主要有:依赖、关联、泛化、实现、聚合、组合。依赖(使用)定义:A类中用到了B类,则说A依赖于B关联泛化(继承)实现聚合组合...原创 2020-07-21 20:08:42 · 118 阅读 · 0 评论 -
设计原则--合成复用原则
合成复用原则:尽量使用合成/聚合的方式,而不是使用继承原创 2020-07-18 23:02:42 · 58 阅读 · 0 评论 -
设计原则--迪米特法则(LoD)
朋友关系:每个对象都会与其他对象有耦合关系,只要两个对象之间有耦合关系,就说这两个对象是朋友关系。耦合的方式有很多,比如:依赖,关联,组合,聚合等直接朋友:1. 一个对象是一个对象的成员变量; 2. 一个对象作为方法参数传入一个对象的方法中;3. 一个对象是另一个对象的返回值class A{ B b; //B是A的成员变量 void play(C c){ //C作为A的一个方法的参数 } D test(){ //D作为A的返回值 return new原创 2020-07-18 22:10:58 · 123 阅读 · 0 评论 -
设计原则--开闭原则(OCP)
开放-封闭原则(The Open-Closed Principle,OCP):一个软件实体(如类、模块)对扩展开放(对提供方而言),对修改关闭(对使用方而言)编程中遵循其他原则,以及使用设计模式的目的,最终都是为了遵循开闭原则(核心)!!!例子://绘图类,是使用方class DrawShape{ public void drawShape(Shape shape){ if(shape.m_type == 1){ drawCircle();原创 2020-07-18 20:54:20 · 78 阅读 · 0 评论 -
设计原则--里式替换原则
里式替换原则:在软件中将一个基类对象替换成它的子类对象,程序将不会产生任何错误和异常通俗来讲:子类可以扩展父类的功能,但不能改变父类原有的功能子类尽量不要重写父类的方法由于使用基类对象的地方都可以使用子类对象,因此在程序中尽量使用基类类型来对对象进行定义,而在运行时再确定其子类类型,用子类对象来替换父类对象。里式替换告诉我们,其实继承让两个类之间的耦合性增加了,在适当情况下可以通过聚合、组合、依赖来解决这个问题。...原创 2020-07-18 15:16:26 · 89 阅读 · 0 评论 -
设计原则--依赖倒转原则
依赖倒转原则:高层模块不应该依赖底层模块。两个都应该依赖抽象抽象不应该依赖细节。细节应该依赖抽象字面意思:1. 依赖:一个类需要依赖其他类2. 倒转:不直接依赖于这个类,而是依赖其接口或抽象类说白了,就是针对接口编程,不要针对实现编程。不遵循依赖倒转原则的例子:public class demo { public static void main(String[] args) { Person person = new Person(); pers原创 2020-07-18 11:22:06 · 90 阅读 · 0 评论 -
设计原则---接口隔离原则
interface interface1{ void oper1(); void oper2(); void oper3();}//A实现了interface1的所有接口class A implements interface1{ @Override public void oper1() { } @Override public void oper2() { } @Override public void ope原创 2020-07-18 09:12:42 · 63 阅读 · 0 评论