![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
结构模式(6种)
文章平均质量分 54
一日看尽长安花的幻想
这个作者很懒,什么都没留下…
展开
-
装饰器模式(Decorator)
这里似乎可以解释之前的一个疑惑:装饰器模式与对象的适配器模式的异同:相同点:都拥有一个目标对象不同点:适配器模式需要实现另外一个接口,而装饰器模式必须实现该对象的接口换句话说,适配器模式就是把一个对象是配成另一个对象,而装饰器模式将丰富目标对象的功能但不改变它的接口装饰器的核心思想Decorator装饰器,动态的给一个对象添加原创 2018-01-05 19:28:04 · 218 阅读 · 0 评论 -
代理模式(Proxy)
核心思想代理模式就是给某个对象提供一个代理对象,并且由代理对象控制对源对象的引用源接口:被代理对象的接口Soucable:声明了代理对象和代理者的共同接口public interface Soucable {public void operation();}原类:被代理对象Source:定义真实的对象public原创 2018-01-05 20:48:46 · 151 阅读 · 0 评论 -
适配器模式、装饰器模式和代理模式的联系和区别
联系:三者的限制条件层层递进,递进关系如下:代理模式装饰器模式适配器模式区别:适配器模式是将一个类A装换成另一个类B。类A和类B的接口不同装饰着模式是为一个类A增添新的功能,从而变成类B。类A和类B的接口相同,在构造器中传递对象参数可以动态的添加和撤销新的功能代理模式是为一个类A转换操作类B。类A和类B的接原创 2018-01-05 21:08:39 · 556 阅读 · 0 评论 -
外观模式(Facade)
核心思想外观模式是由代理模式发展而来的,与代理模式类似,代理模式是一对一的代理,而外观模式是一对多的代理。在真实的子系统中,一个子系统可能有很多类组成,子系统的客户为了满足它们的需要,需要和子系统中的一些类进行交互。客户和 子系统的类进行直接交互会导致客户端对象和子系统之间高度的耦合性。外观模式为子系统提供了一个更层次、更简单的接口,从而降低了子系统的复杂度和依赖。原创 2018-01-05 21:46:59 · 1790 阅读 · 0 评论 -
桥接模式(Bridge)【还不是特别理解,先留着】
目标接口:public interface Sourcable {public void operation();}目标角色:public class SourceSub1 implements Sourcable{@Overridepublic void operation() {// TODO Auto-generated method st原创 2018-01-05 22:53:12 · 225 阅读 · 0 评论 -
组合模式
组合模式有时候又叫做部分-整体模式,它使我们在处理树形结构的问题中,模式了简单元素和复杂元素的概念。将对象组合成树形结构以表示“部分-整体”的层次结构。根据组合模式的特点,它最常用的就是在树形的就是在树形结构的表示中,例如,二叉树、多叉树等,通常用来表示有树形结构的数据集合。树节点:public class TreeNode {private String name;原创 2018-01-09 13:13:52 · 134 阅读 · 0 评论 -
享元模式(Flyweight)
(http://blog.csdn.net/justloveyou_/article/details/55045638)Flyweight: 享元接口,通过这个接口传入外部状态并作用于外部状态; ConcreteFlyweight: 具体的享元实现对象,必须是可共享的,需要封装享元对象的内部状态; UnsharedConcreteFlyweight: 非共享的享元实现对象,并不是所原创 2018-01-09 15:32:07 · 111 阅读 · 0 评论