![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
左思明月
这个作者很懒,什么都没留下…
展开
-
【设计模式】工厂模式
1、简单工厂模式(非GOF) 简单工厂模式是指创建一个工厂类,这个工厂类可以根据入参的不同来决定生产不同的产品。 从图中结构就可以看出来,如果产品种类过多的话,会增加工厂类的职责。不利于扩展相对复杂的产品结构。 而且,增加一个产品就需要修改工厂类,不符合开闭原则。 2、工厂方法模式 工厂方法模式:定义一个用于创建对象的接口,让子类决定实例化哪一个类。使一个类的实例化...原创 2019-04-05 16:27:23 · 112 阅读 · 0 评论 -
【设计模式】设计原则
单一职责原则(Single Responsibility Principle, SRP):一个类只负责一个功能领域中的相应职责,或者可以定义为:就一个类而言,应该只有一个引起它变化的原因。 开闭原则(Open-Closed Principle, OCP):一个软件实体应当对扩展开放,对修改关闭。即软件实体应尽量在不修改原有代码的情况下进行扩展。 里氏代换原则(Liskov Substituti...转载 2019-04-10 22:26:07 · 98 阅读 · 0 评论 -
【设计模式】代理模式
1、代理模式:为其他对象提供一种代理,以控制对这个对象的访问。代理模式在客户端和目标对象之间起中介作用。 2、静态代理 RealSubject为被代理对象,SubjectProxy为代理对象,代理对象持有被代理对象的引用,可以在执行代理方法时添加自己的操作。 创建一个学生接口。 public interface Student { /** * 做语文作业 ...原创 2019-04-07 20:56:46 · 90 阅读 · 0 评论 -
【设计模式】手写JDK动态代理
最近在咕泡学院学习JDK动态代理时,看到老师有教手写JDK动态代理实现。由于课堂时间有限,老师讲的一些地方不够完善。自己后期进行了如下修改。 支持对有参数的方法进行代理。 添加了缩进。生成代理类Java文件更加美观。 整个生成代理类Java文件的过程都是动态生成的。 代码如下: XLInvocationHandler package com.gupao.proxy.custom;...原创 2019-04-07 22:45:23 · 216 阅读 · 0 评论 -
【设计模式】建造者模式
1、意图:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 2、建造者模式 3、适用场景 用于创建一些复杂的对象,这些对象内部构建间的建造顺序通常是稳定的,但对象内部的构建通常面临着复杂的变化。 4、优点 使得建造代码和表示代码分离,由于建造者模式隐藏了该产品时如何组装的,所以若需要改变一个产品的内部表示,只需要再定义一个具体的建造者就可以了。 ...原创 2019-04-19 19:36:24 · 181 阅读 · 0 评论