08 2012 档案

设计模式学习总结-迭代器模式(Iterator Pattern)
摘要:问题:在面向对象的软件设计中,经常会遇到一些聚集对象,按一定的顺序的遍历访问问题,这个遍历算法究竟应该由谁来实现呢,聚集对象本身?这样聚集对象承受了过多的功能,不仅要维护聚集对象内的元素,还要提供遍历自身的接口,而且由于遍历状态保存的问题,不能对同一个容器对象同时进行多个遍历,这不符合单一职责原则。如果将遍历算法交给客户端,会将容器的内部细节暴露无遗,而且客户端与聚集对象高度耦合。分离了集合对象的遍历行为,将遍历算法交给这个迭代器角色来完成,可以很好的避免容器内部细节的暴露,而且也使得设计符合“单一职责原则”,另外迭代器模式抽象了具体迭代器角色,可以通过对一个抽象迭代器多个集成可来完成同一聚集 阅读全文

posted @ 2012-08-15 08:48 创生 阅读(212) 评论(0) 推荐(0)

设计模式学习总结-策略模式(Strategy Pattern)
摘要:问题:当我们定义一系列的算法,怎么能使得算法为应对不同的业务需要能自由的动态替换而又不影响到客户端的使用,并且算法的增减、修改都不会影响环境和客户端。定义:策略模式定义了一系列算法,把它们一个个封装起来,并且使它们可相互替换。该模式可使得算法能独立于使用它的客户而变化。意图:Strategy模式是行为模式,正因为他是一种行为模式,所以他不是用来解决类的实例化的,跟创建什么样的产品没有关系,此模式解决的问题是把一个系列完成相同工作,却实现不同的算法(行为)包装到一系列的策略类里面,使得它们可以相互替换,提供一个访问接口,由客户端决定在什么情况下使用什么具体策略,来完成某一功能。并可以自由的添加修 阅读全文

posted @ 2012-08-08 13:40 创生 阅读(170) 评论(0) 推荐(0)

设计模式学习总结-单例模式(Singleton Pattern)
摘要:问题:在软件系统中,经常有这样一些特殊的类,必须保证它们在系统中只存在一个实例,并提只有一个全局访问点,才能确保它们的逻辑正确性、以及良好的效率。定义:单例模式也叫也叫单件模式是一种对象创建模式, 保证一个类仅有一个实例,并提供一个该实例全局的访问点。这个类称为单例类。意图:确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。单例模式有三个要点:一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例.参与者: •单例类:确保类只有一个实例,而且自行实例化并向整个系统提供这个实例。UML图:实例说明:诺基亚手机工厂诺基亚手机工厂,可以生产多款手机 阅读全文

posted @ 2012-08-07 10:15 创生 阅读(175) 评论(0) 推荐(0)

设计模式学习总结-抽象工厂模式(Abstract Factory Pattern)
摘要:问题:Factory Method模式是为一类对象提供创建接口或延迟对象的创建到子类中实现。但是,我们在软件系统中,经常面临着“一系列相互依赖的对象”的创建工作,同时由于需求的变化,这“一系列相互依赖的对象”也要改变,如何应对这种变化呢?Abstract Factory模式是为创建一系列相关或依赖的对象提供创建接口(AbstractFactory),将一组产品的创建封装到一个用于创建对象的类(ConcreteFactory)中(形成一个系列),维护这样一个创建类总比使用Factory Method维护n多相关对象的创建过程(逻辑)要简单的多,而且Factory Method,没有办法保证“一系 阅读全文

posted @ 2012-08-06 09:26 创生 阅读(181) 评论(0) 推荐(0)