您的位置:首页 > 其它

设计模式 总结 浓缩精华

2009-08-24 17:38 225 查看
策略模式,代理模式,事实上没什么区别,都是typeII的AOP注入后,代替执行(事实一样)
单例模式,和多例模式,道理上一样,都可以通过static{......}来生成实例,也可以通过在getInstace()方法里(方法名可随便命名)每次判断实例是否==null(事实一样)
工厂模式,和策略模式,和代理模式也一样,只不过注入类名,由工厂通过Class.forName(class.name).newInstance去生成实例,而不是直接注入实例;工厂模式有一点不同,因为由工厂去产生,所以批量生产是方便的(多一优点,批量生产)
门面模式,就是一个封装类,只要向这个封装类的一个方法去传递参数,它代替你执行业务的整个流程(其实就是封装的思想)
适配器模式,和策略模式、代理模式相近,都是同一个接口的多个实现类,不同的是适配器模式不通过setter 注入实例代替执行,而是直接new不同的实例。(这不能称作什么模式,就是interface的概念)为什么说“这不能称作什么模式”,因为事实上就是对同一个接口的多个实现类,在需求不一样的时候,去new不同的实现类而已
模板方法模式,就是同一个抽象类的多个实现类(同样,这不能称作什么模式,就是abstract class的概念)其中涉及到钩子的概念,就是尽量不改变原有功能的基础上,增加功能而已
建造造模式,就是对 多个实现类和实际的运行参数 结合起来再做一个封装(其实就是封装的思想)
桥梁模式, 和策略模式 代理模式一样, 属于重复定义名词(重复定义了一个新名词而已)
命令模式, 就是封装业务结合AOP代理执行而已(就是封装+AOP)
装饰模式, 不是一种模式, 它强调的思想业务灵活的时候, 底层的功能尽可能相互独立(强调业务灵活的时候, 底层功能尽可能相互独立)
迭代器模式:原先用list存储类Project的实例,现在改为list变为类Projects的一个属性(用于存储无数个Project实例),并再写一个ProjectsIterator(extends Iterator)来遍历Projects实例的那个属性(只是为了更加封装和对象化)

未完...
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: