设计模式浅见
tj19832
这个作者很懒,什么都没留下…
展开
-
原始模型(Prototype)模式学习笔记
原始模型模式其实就是“克隆”,当我们的系统需要对模型对象(MVC中的M)复制一份的时候非常有用。采取这种模式就免去了我们必须知道一些细节才能实例化。 原始模型模式分为两种两种表现形式:第一种是简单形式,第二种是登记形式,区别无非在于后者有一个管理器。管理器的好处是可以防止重复复制,减少资源浪费。 说到“克隆”就不能不说浅复制和深复制原创 2006-09-03 10:09:00 · 2148 阅读 · 0 评论 -
装饰模式与适配器模式的一句话区别
装饰模式是一个接口两个类,适配器模式是两个接口一个类 。原创 2006-09-18 13:26:00 · 1934 阅读 · 0 评论 -
为什么要有工厂
工厂的使用可以隐藏对象实例化的细节. 降低耦合性,为未来在不改动现有代码的基础上进行优化提供可能.我们想象一下,如果所有的对象实例都是new出来的,当有一天我们要控制某个实例的数目时,我们需要从每一个类文件中去搜找这个类实例化的地方,改掉所有的new.所以如果没有必要的理由,不要将构造器暴露出来.一律采用工厂模式.常用的工厂模式有三种:"简单工厂模式","工厂方法模式","抽象工厂方法模式"原创 2006-09-25 16:35:00 · 981 阅读 · 0 评论 -
策略模式与合成模式
看了看才知道,策略模式与合成模式居然是一直在用的东西.策略模式就是依赖倒转原则的一种方式,依赖接口编程,不依赖具体实现.可以做到具体实现(比如算法)与业务逻辑流程(又称责任)的分离(脱耦,就喜欢看到这种东西).其实是很常见的一种思路.合成模式就是C++里面的虚函数,而Java里面方法本来就是虚函数.根据里氏代换原则,父类可以传入的地方,子类可以代换.如果一个父类的方法被子类覆盖的话,在C+原创 2006-09-26 13:11:00 · 1014 阅读 · 0 评论 -
GOF设计模式学习小结(一)
GOF设计模式看的差不多了先做个小节,东西还是整理成自己的话放心一些,以后再看的时候减少一层理解障碍。【创建模式】工厂模式(Factory Method):统一管理一批类的实例化,适用于包中类的对外创建接口,将类的实例化细节隐藏,为扩展提供可能。抽象工厂(Abstract Factory):“抽象工厂模式面对的问题是多个产品等级结构的系统设计”[1]。目前我还没有切身的实践体会。原创 2006-11-10 14:20:00 · 1015 阅读 · 0 评论 -
GOF设计模式学习小节(二)
结构就是力量,在所有的模式中我觉得有最充满魔力的模式。【结构模式】 适配器(Adapter)模式:“把一个类的接口变成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作”[1]这种模式主要用于两端既有代码的二进制兼容。 合成(Composite)模式:Java对这个模式进行了语法支持,就是子类覆盖了父类的方法后,当父原创 2006-11-12 03:15:00 · 929 阅读 · 0 评论 -
建立依赖以和依赖反转的感性认识
看设计方面的技术书的时候,“依赖”这词出现的频率实在是太高了,11项设计原则其实就是规范依赖关系的原则。但是很多初学者对依赖没有感性的认识。本文以一个小工具的实现为例,希望可以帮助这样的朋友建立一个感性认识。大家在写程序的时候,为了测试代码的效率经常会写下面的代码来测试诸如执行10000次某操作的时间占耗。 Date begin = new Date();原创 2007-04-16 10:04:00 · 1063 阅读 · 1 评论