随笔分类 -  java设计模式

摘要:java的设计模式分为三类 一 创建型模式 单例模式,工厂模式,静态工厂模式,建造者模式,原型模式 二 结构型模式 适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式 三 行为型模式 模板方法模式,命令模式,迭代器模式,观察者模式,中介者模式,备忘录模式,解释器模式, 状态模式 阅读全文
posted @ 2016-10-26 09:31 jentary 阅读(114) 评论(0) 推荐(0) 编辑
摘要:责任链模式:将能够处理同一类请求的对象连成一条链,如果不能处理则传递给链上的下一个对象。 应用场景:try catch,javascript 冒泡,servlet filter,struts2 拦截器 模仿 JavaWeb 中的 Filter,可以对其思路有个很好的把握1.Filterpackage 阅读全文
posted @ 2016-09-29 21:53 jentary 阅读(5097) 评论(1) 推荐(1) 编辑
摘要:享元模式(flyweight) 当需要有很多完全相同或相似的对象需要创建的时候,主要是相似的时候,我们可以用享元模式。尽可能少创建对象,节省内存。 享元模式主要有4中角色 1.享元的工厂 2.抽象享元对象 2.内部状态对象:可以共享的 3.外部状态对象:不可以共享的 下面以围棋的棋子为例:每个棋子都 阅读全文
posted @ 2016-09-28 22:45 jentary 阅读(198) 评论(0) 推荐(0) 编辑
摘要:原型模式就是克隆该对象,而不是重复的new新对象(自己的理解)和javascript里原型是一个道理的。 原型模式的 对象必须实现Cloneable接口,而Cloneable只是一个空接口,这是一种规范,如果不实现会抛CloneNotSupportedException异常,真正调用的是Object 阅读全文
posted @ 2016-09-28 20:51 jentary 阅读(142) 评论(0) 推荐(0) 编辑
摘要:建造模式是将复杂的内部创建封装在内部,对于外部调用的人来说,只需要传入建造者和建造工具,对于内部是如何建造成成品的,调用者无需关心。 举个例子:汽车的生产 建造者 装备者 建造者的具体实现 装配者的具体实现 测试 需要现有建造再有装配 应用例子:StringBuilder中append, Prepa 阅读全文
posted @ 2016-09-28 20:51 jentary 阅读(125) 评论(0) 推荐(0) 编辑
摘要:1.简单工厂模式(静态工厂模式) 实际使用最多 2.工厂方法模式 不修改已有类的前提下,通过增加新的工厂类实现扩展 3抽象工厂模式 不可以增加产品,可以增加产品族 阅读全文
posted @ 2016-09-28 20:51 jentary 阅读(148) 评论(0) 推荐(0) 编辑
摘要:适配器模式(adapter):将一个类的接口转换成成客户希望的接口 1.被适配对象 2.适配器 3.目标接口 就是把被适配对象和目标接口进行连接,都与适配器打交道,被适配对象和目标接口不直接交互,实现松耦合,适配器好比有USB和圆口两种方式的连接线。 电脑需要USB键盘,但键盘是圆口的。 笔记本电脑 阅读全文
posted @ 2016-09-28 20:50 jentary 阅读(123) 评论(0) 推荐(0) 编辑
摘要:桥接模式(bridge):适用于多层继承机构 ,最少两个维度。 比如 日志管理 1.按格式分类 操作日志,交易日志 2.按距离分类 本地记录日志,异地记录日志 普通的多层次继承 桥接模式 把两种分类分离开来。 在一种类别中引入另一种,利用组合的方式实现多层继承结构 优点:相互独立,容易扩展 阅读全文
posted @ 2016-09-28 20:50 jentary 阅读(135) 评论(0) 推荐(0) 编辑
摘要:组合模式(composite):用统一的方式处理整体和部分,多用于树形结构数据的处理。 分为3个部分 1.容器 2.叶子 3.抽象组件 阅读全文
posted @ 2016-09-28 20:50 jentary 阅读(162) 评论(0) 推荐(0) 编辑
摘要:代理模式 proxy:为其他对象提供一种代理,并以控制对这个对象的访问,好比经纪人和明星之间的关系,经纪人就是明星的代理类。简单的就是在方法调用前后做处理,AOP思想,好处就是不改变原来类方法的基础上,动态的添加其他方法。 代理模式的3个角色 1.抽象角色2.真实角色 3.代理角色 1.静态代理 首 阅读全文
posted @ 2016-09-28 20:50 jentary 阅读(121) 评论(0) 推荐(0) 编辑
摘要:装饰模式(decorator):动态的为一个对象增加新的功能,不需要通过集成增加子类就能扩展对象的新功能。 包含4中角色 1.抽象组件 2.真实对象 3.抽象装饰角色 4.具体装饰角色 阅读全文
posted @ 2016-09-28 20:49 jentary 阅读(9) 评论(0) 推荐(0) 编辑
摘要:GOF23(group of four) 由4个大牛总结的JAVA23种常用的设计模式,归根结底都是为了代码的可扩展性。 设计模式中一种比较重要的思想就是:开闭原则,尽量做到对扩展开放,对修改关闭。 单例模式:开发中最常见也是最简单的一种模式 单例模式确保某个类只有一个实例,而且自行实例化并向整个系 阅读全文
posted @ 2016-09-25 12:22 jentary 阅读(180) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示