![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
山水友相逢wxg
BUG虐我千百遍,我带她如初恋
展开
-
手动实现jdk动态代理
一.代码实现前提知识:静态代理继承:代理对象继承目标对象,重写需要增强的方法;缺点:会代理类过多,非常复杂聚合:目标对象和代理对象实现同一个接口,代理对象当中要包含目标对象。缺点:也会产生类爆炸,只不过比继承少一点点总结:如果在不确定的情况下,尽量不要去使用静态代理。因为一旦你写代码,就会产生类,一旦产生类就爆炸。思路:要生成一对象一般来说都是通过class文件,被...原创 2020-03-12 16:59:00 · 121 阅读 · 0 评论 -
适配器模式
参考书籍:《java设计模式》对象适配器模式在对象适配器模式结构图中包含如下几个角色:Target(目标抽象类):目标抽象类定义客户所需接口,可以是一个抽象类或接口,也可以是具体类。Adapter(适配器类):适配器可以调用另一个接口,作为一个转换器,对Adaptee和Target进行适配,适配器类是适配器模式的核心,在对象适配器中,它通过继承Target并关联一个Adaptee...原创 2020-03-12 16:46:01 · 92 阅读 · 0 评论 -
装饰器模式(包装器模式)
开发一套图形界面构件库VisualComponent,该构件库提供了大量基本构件,如窗体、文本框、列表框等,由于在使用该构件库时,用户经常要求定制一些特效显示效果,如带滚动条的窗体、带黑色边框的文本框、既带滚动条又带黑色边框的列表框等等,因此经常需要对该构件库进行扩展以增强其功能:这样设计:系统扩展麻烦,代码重复,系统庞大。通过装饰者模式的设计后:Component充当抽象构件类,...原创 2020-03-12 16:44:50 · 109 阅读 · 0 评论 -
适配器模式
参考书籍:《java设计模式》刘伟对象适配器模式在对象适配器模式结构图中包含如下几个角色:Target(目标抽象类):目标抽象类定义客户所需接口,可以是一个抽象类或接口,也可以是具体类。Adapter(适配器类):适配器可以调用另一个接口,作为一个转换器,对Adaptee和Target进行适配,适配器类是适配器模式的核心,在对象适配器中,它通过继承Target并关联一个Adapt...原创 2020-03-12 16:39:56 · 94 阅读 · 0 评论 -
模板方法
参考书籍:《java设计模式》刘伟1.模板方法模式的概念模板方法模式,定义一个操作中的算法骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重新定义该算法的某些特定步骤。2.模板方法模式的结构AbstractClass:实现一个模板方法,定义了算法的骨架,具体子类将重定义PrimitiveOperation以实现一个算法的步骤。AbstractClass其实就...原创 2020-03-12 16:30:28 · 96 阅读 · 0 评论 -
java的七大设计原则
参考书籍:《java设计原则》单一职能原则:一个类只负责一个功能领域中的相应职责开闭原则::一个软件实体应当对扩展开放,对修改关闭。为了满足开闭原则,需要对系统进行抽象化设计,抽象化是开闭原则的关键。里氏替换原则:所有引用基类(父类)的地方必须能透明地使用其子类的对象。里氏代换原则告诉我们,在软件中将一个基类对象替换成它的子类对象,程序将不会产生任何错误和异常,反过来则不成立。里...原创 2020-03-12 16:28:13 · 199 阅读 · 0 评论 -
装饰器模式(包装器模式)
参考书籍:《java设计模式》刘伟开发了一套图形界面构件库VisualComponent,该构件库提供了大量基本构件,如窗体、文本框、列表框等,由于在使用该构件库时,用户经常要求定制一些特效显示效果,如带滚动条的窗体、带黑色边框的文本框、既带滚动条又带黑色边框的列表框等等,因此经常需要对该构件库进行扩展以增强其功能:这样设计:系统扩展麻烦,代码重复,系统庞大。通过装饰者模式的设计后:...原创 2020-03-12 16:24:07 · 170 阅读 · 0 评论 -
观察者模式
参考书籍:《java设计模式》 刘伟基础应用观察者模式定义如下: 观察者模式(Observer Pattern):定义对象之间的一种一对多依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象皆得到通知并被自动更新。观察者模式的别名包括发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listener)模式或从属者(...原创 2020-03-12 14:14:00 · 78 阅读 · 0 评论