摘要:
一、责任链模式介绍 责任链模式:将能够处理同一类请求的对象连成一条链,使这些对象都有机会处理请求,所提交的请求沿着链传递。从而避免请求的 发送者和接受者之间的耦合关系。链上的对象逐个判断是否有能力处理该请求,如果能则就处理,如果不能,则传给链上的下一个对象。 直到有一个对象处理它为止。 场景: 1、 阅读全文
posted @ 2017-02-15 23:16
chenxiangxiang
阅读(5800)
评论(0)
推荐(1)
摘要:
一、迭代器模式介绍 迭代器模式:提供一种方法顺序的访问一个聚合对象中各个元素,而又不暴露该对象的内部表示。 一般情况,我们自己开发时很少自定义迭代器,因为java本身已经把迭代器做到内部中了(比如:常用的list和set中都内置了迭代器)。 当然,如果真有这种需求需要我们自定义迭代器的话,可以参考j 阅读全文
posted @ 2017-02-15 23:16
chenxiangxiang
阅读(9504)
评论(0)
推荐(1)
摘要:
一、外观模式介绍 面向对象的一个比较重要的法则:迪米特法则(最少知识原则):一个软件实体应当尽可能少的与其他实体发生相互作用。 外观模式:为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口。这个接口使得这一子系统更加容易使用。说白了,就可以理解为封装 外观模式的核心:为子系统提供统一的 阅读全文
posted @ 2017-02-15 23:15
chenxiangxiang
阅读(291)
评论(0)
推荐(0)
摘要:
一、享元模式介绍 享元模式(FlyWeight):运用共享技术有效的支持大量细粒度对象的重用。 应用场景:如果项目中有很多完全相同或相似的对象,则可以使用享元模式,节省内存。 享元对象能做到共享的关键就是区分了内部状态和外部状态。 内部状态:可以共享,不会随环境变化而变化 外部状态:不可以共享,会随 阅读全文
posted @ 2017-02-15 23:15
chenxiangxiang
阅读(293)
评论(0)
推荐(0)
摘要:
一、组合模式介绍 组合模式:将对象组合成树形结构以表示:部分--整体 的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。 java中的组合是指:在A类里定义一个B类的引用,A拥有了B,叫组合。只是单纯的组合而已,而不是一种设计模式。 组合和组合模式不是一回事! 基本上见到的树形结构都 阅读全文
posted @ 2017-02-15 23:14
chenxiangxiang
阅读(329)
评论(0)
推荐(0)
摘要:
一、装饰模式介绍 装饰模式(decorator):表示动态的给一个对象添加一些新的功能(利用子类继承父类也可以实现),但是比生成子类方式更灵活。 也叫装饰者模式或者装饰器模式 例如:我们每个人身上穿的衣服,鞋子,领带,披风都可以理解为是对人的装饰。 装饰器模式类图: Component:定义一个对象 阅读全文
posted @ 2017-02-15 23:14
chenxiangxiang
阅读(672)
评论(0)
推荐(0)
摘要:
一、代理模式介绍 代理模式:为其他对象提供一种代理以便控制对这个对象的访问。 可以详细控制访问某个类(对象)的方法,在调用这个方法前作的前置处理(统一的流程代码放到代理中处理)。调用这个方法后做后置处理。 例如:明星的经纪人,租房的中介等等都是代理 代理模式分类: 1.静态代理(静态定义代理类,我们 阅读全文
posted @ 2017-02-15 23:13
chenxiangxiang
阅读(274)
评论(0)
推荐(0)
摘要:
一、桥接模式介绍: 桥接模式:将抽象部分与它的实现部分分离,使它们都可以独立的变化。而不会直接影响到其他部分。 未使用桥接模式的抽象与实现结构图(如下): 如果要增加一个apple品牌的电脑,则需要在台式机下新增一个apple的台式机 在笔记本下新增一个apple笔记本,在pad下新增一个apple 阅读全文
posted @ 2017-02-15 23:13
chenxiangxiang
阅读(345)
评论(0)
推荐(0)
摘要:
一、适配器模式介绍 适配器模式:将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的类可以一起工作。 例如: NBA中的球员来自不同国家,而世界标准语言是英语。那他们不会英语,也不能各自学习所有国家的语言。所以,最好的办法就是请不同的翻译 将这些球员国 阅读全文
posted @ 2017-02-15 23:12
chenxiangxiang
阅读(373)
评论(0)
推荐(0)
摘要:
创建型模式:关注对象的创建过程 1、单例模式:保证一个类只有一个实例,并且提供一个访问该实例的全局访问点 主要: 饿汉式(线程安全,调用效率高,但是不能延时加载) 懒汉式(线程安全,调用效率不高,但是可以延时加载) 其他: 双重检测锁式(由于JVM底层内部模型原因,偶尔会出问题。不建议使用) 静态 阅读全文
posted @ 2017-02-15 23:11
chenxiangxiang
阅读(9729)
评论(1)
推荐(2)

浙公网安备 33010602011771号