![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
Ocean_奋斗史
一往无前,不惧将来... ...
展开
-
访问者模式
总结:1.访问者模式包含两大类:对象 和 行为;对象和行为的名字看客们可以随便起。2.对象必须稳定3.行为可以多变;这就是访问者模式的优点,增加一个行为很容易,遵循对扩展开发,对修改关闭的原则4.对象中抽象一个接受行为的方法,暂且叫做accept方法,参数为行为。accepte(Action action)5.行为中抽象 N 个方法操作对象。N=对象的个数;这也正是为什么需要对...原创 2018-12-05 14:10:00 · 90 阅读 · 0 评论 -
静态代理模式
例子:比如:A要去买房,找中介。中介卖给A一套房。开始分析1.中介里肯定有一个对象把房卖给了A,暂且定义这个真正卖房给A的人叫B;2.中介和B都有一个职能,就是卖房;所以抽象出来的接口中 就有了一个 卖房的方法;3.中介和B 都实现了这个接口4.中介中实现这个接口的方法肯定是调的B的方法。5.所以中介这个类中 应该含有一个B的对象,因为B实现了接口,所以应该定义一个接口类型...原创 2019-06-14 16:34:25 · 91 阅读 · 0 评论 -
设计模式 基础篇
GRASP(General Responsibility Assignment Software Patterns),中文名称为“通用职责分配软件模式”,共包括9种模式,它们描述了对象设计和职责分配的基本原则 Information Expert (信息专家)设计对象(类)的时候,如果某个类拥有完成某个职责所需要的所有信息,那么这个职责就应该分配给这个类来实现 ——>就是我们通...原创 2019-06-11 15:06:50 · 112 阅读 · 0 评论 -
工厂模式
1.简单工厂模式:接口单一,只提供创建实例的功能public class SimpleFatory{ public Car getName(String tag){ if("BMW".equals(tag)){ return new BMWCar(); }else if("AODI".equals...原创 2019-06-13 09:19:20 · 76 阅读 · 0 评论 -
动态代理模式
为什么会产生动态代理模式?1个静态代理只能代理一种类型的对象,若要服务多类型的目标对象,则静态代理也需要产生多个。 如果服务对象很多,则静态代理会很多导致代码重复并且臃肿。为了解决此问题,出现了动态代理,只需要1个动态代理类就可以解决创建多个静态代理的问题,避免重复、多余代码代理模式如何编写?需要一个接口需要自定义一个动态代理类并且实现InvocationHandler接口,实...原创 2019-06-24 11:18:26 · 202 阅读 · 1 评论