摘要: 装饰者模式的关注点在于添加功能 代理模式的关注点在于控制对象的访问,其原型对象对于用户无法得知 适配器模式关注点在于适配,从定义上看装饰模式是对核心对象或者功能的扩展,适配器模式是把对象或者功能放到一个新对象中引用。举个例子,现在书城卖道德经的书,有线装版,有精装版,有日文版,有英文版,其中线装版和 阅读全文
posted @ 2016-12-27 19:30 麦子TMAC 阅读(2831) 评论(0) 推荐(0) 编辑
摘要: /** * 装饰者模式 * @author TMAC-J * 总的来说,装饰者模式就是继承的应用 */ public class DecoratorPattern { interface Beans{ void doSomething(); } public class MyBean implements Beans{ @Override public void... 阅读全文
posted @ 2016-12-27 19:27 麦子TMAC 阅读(149) 评论(0) 推荐(0) 编辑
摘要: public class Adaptee{ public void doSomething(){ System.out.println("doSomething..."); } } interface Target{ void doOtherSomething(); } public class A 阅读全文
posted @ 2016-12-27 18:57 麦子TMAC 阅读(142) 评论(0) 推荐(0) 编辑
摘要: /** * * @author TMAC-J * 原型模式,可以说是简化的工厂模式 * 与工厂模式的区别是工厂模式可以生产很多的产品,而原型模式仅仅是复制而已 * 这里有一个问题:深克隆和潜克隆的问题(深克隆是包括克隆实例里面的引用,而浅克隆不克隆,而是指向和原型一样的引用) */ public class PrototypePattern { interface IProt... 阅读全文
posted @ 2016-12-27 18:23 麦子TMAC 阅读(172) 评论(0) 推荐(0) 编辑
摘要: /** * 建造者模式 * 主要用于构造复杂的对象 * 在优朋播放器就是采用建造者构建的,可以说比较有心得吧 * @author TMAC-J * */ public class BuilderPattern { /** * 要构建的对象bean * @author voole * */ public class Person{ private Stri... 阅读全文
posted @ 2016-12-27 18:08 麦子TMAC 阅读(226) 评论(0) 推荐(0) 编辑
摘要: /** * 抽象工厂模式 * 分为四部分 * 1.产品接口 * 2.产品实例 * 3.工厂接口(生产同一个产品的不同等级,这里是主要区别) * 4.工厂实例 * 工厂类最好用单例模式,但在这里主要是说明工厂方法,就不用单例了 * 与工厂方法不同的地方是,可以生产不同等级的产品 * @author TMAC-J * */ public class FactoryMethodP... 阅读全文
posted @ 2016-12-27 17:49 麦子TMAC 阅读(136) 评论(0) 推荐(0) 编辑
摘要: /** * 工厂方法模式 * 分为四部分 * 1.产品接口 * 2.产品实例 * 3.工厂接口 * 4.工厂实例 * 工厂类最好用单例模式,但在这里主要是说明工厂方法,就不用单例了 * @author TMAC-J * */ public class FactoryMethodPattern { /** * 产品 * */ interface IProduct... 阅读全文
posted @ 2016-12-27 17:36 麦子TMAC 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 一、 /** * lazy man(不是线程安全的) * @author TMAC-J * */ public class Singleton { private static Singleton instance; private Singleton(){} public static Singleton getInstance(){ if(instance!... 阅读全文
posted @ 2016-12-27 17:09 麦子TMAC 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 设计模式(Design Patterns) ——可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的, 阅读全文
posted @ 2016-12-27 14:37 麦子TMAC 阅读(150) 评论(0) 推荐(0) 编辑