摘要: 设计模式——单例模式需求在各种应用环境中,应该能发现某些类在这样一点上与众不同:这个类在同一时刻只能有一个对象实例,不允许多个。像一个网站的访问计数器,只能是全局唯一实例,这就需要单例模式(Singleton Pattern)。定义单例模式就是确保一个类只有一个实例,并且该实例必须自动创建,并向整个系统提供该实例。实现原理:(1)将构造函数定义成私有或者受保护,使得不能通过构造函数来创建对象;(2)定义一个静态的方法提供公共接口,用于访问维一的实例。单例模式特征:(1)任何时刻单例类只能有一个实例;(2)单例类自己创建这个唯一的实例;(3)单例类必须给所有其他对象提供这个实例。单例模式又可以分 阅读全文
posted @ 2012-10-03 23:38 萨迦狐 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 设计模式——原型模式需求比如有个对象,在某一时刻该对象中已经包含了一些有效值,此时可能会需要一个和该对象完全相同的新对象,并且此后对对象的任何修改都不会影响到原来对象中的值。也就是说,新对象与原来的对象是两个完全独立的对象,仅仅新对象的初始值是由原来对象确定的。这样的要求,显然可以以原来的对象为原型,复制出一个新对象来(好像没什么问题,其实在OOP中要注意浅表复制与深度克隆的区别),这种思想就是原型模式(Prototype Pattern)。定义意图:用原型对象指定要创建的对象的类型,并且通过拷贝这些原型对象创建新的同类型对象。原理:通过拷贝一个现有的对象来生成新的同类型的对象。原型设计模式包 阅读全文
posted @ 2012-10-03 23:35 萨迦狐 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 设计模式——构建者模式需求在抽象工厂模式中,每个具体的工厂负责创建一个系列相互关联的产品,当一系列相互关联的产品设计到一个工厂类里后,客户端的调用会变得简单;如果要更换这一系列的产品,只只要切换一个具体的工厂类即可。但是,在实体工厂里包含着零件组装逻辑,这违反了工厂类的单一职责原则,使得工厂类既要负责对象的创建,又要负责零件的组装。如果把组装逻辑转移到客户端,则又会使得客户端变得臃肿。如何设计一个单独的类来负责零件的组装,就可以解决则各问题,而且可以组装出不同系列,这就是构建者模式(Builder Pattern)的由来。定义在软件系统中,有时候面临着“一个复杂对象”的创建工作,其通常由各个部 阅读全文
posted @ 2012-10-03 01:35 萨迦狐 阅读(208) 评论(0) 推荐(0) 编辑