
设计模式
kntao
互联网行业广告含义,分布式数据存储,大数据计算。
展开
-
细颗粒度Singleton模式实现
背景讨论作为一个很典型的设计模式,Singleton模式常常被用来展示设计模式的技巧,并且随着技术的演进,.NET语言和Java都已经把经典《Design Patterns : Elements of Reusable Object-Oriented Software》中所定义的Singleton模式作了完善,例如C#可以通过这样一个非常精简但又很完美的方式实现了一个进程内部线程安全的转载 2009-09-28 14:40:00 · 1745 阅读 · 1 评论 -
设计模式之一工厂模式(Factory Mothod)
<br /> 为什么要使用工厂模式<br />简单工厂模式把对象的创建和初始化工作和客户端分开了,实现了责任分配,但是所有对象的创建和初始化都集中在了这个具体的工厂类里,如果有很多对象创建,这个工厂类就很难维护。所以根据面向对象的思想,要继续改进职责的分配和封装。把每一个产品都有一个具体的工厂类创建,把简单工厂抽象成一个个小的工厂类。这个每个工厂类只负责单独对象的创建,职责变小了。<br />定义:工厂方法模式中抽象工厂类负责定义创建对象的接口,具体对象的创建工作由实现抽象工厂的具体工厂类来实现。原理:工厂原创 2010-11-23 11:15:00 · 855 阅读 · 0 评论 -
设计模式之二(抽象工厂模式)(Abstract Factory)
<br /> 为什么要用抽象工厂模式?<br />在工厂模式中,一个具体的工厂类负责创建一个单独的产品,如果有2个不同的产品,就需要2个不同的工厂类,即使这2个产品有某些必要的关系。所以针对多个系列产品,就应该使用抽象工厂模式。既工厂模式是一个产品一个工厂类,二抽象工厂模式是一系列产品一个工厂类。<br />定义:如果客户端需要创建一些产品结构,而这些结构又分别属于不同的产品类别,则可以使用抽象工厂模式。抽象工厂模式中抽象工厂负责创建对象的接口,这一系列对象的创建工作由实现工厂的具体工厂类来实现。原理:4部原创 2010-11-24 13:40:00 · 1010 阅读 · 0 评论 -
追MM与23种设计模式
<br /> 1、FACTORY-追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说"来四个鸡翅"就行了。麦当劳和肯德基就是生产鸡翅的Factory <br /> 工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:如何创建及如何向客户端提供。 <br /> 2、BUILDER-MM最爱听的就是"我爱你"这句话了转载 2011-01-26 13:08:00 · 666 阅读 · 0 评论 -
面向对象设计的几大原则
<br /><br />单一职责原则:就一个类而言,应该仅有一个引起它变化的原因。<br /> <br />对于单一职责原则,其核心思想为:一个类,最好只做一件事,只有一个引起它的变化。单一职责原则可以看做是低耦合、高内聚在面向对象原则上的引申,将职责定义为引起变化的原因,以提高内聚性来减少引起变化的原因。职责过多,可能引起它变化的原因就越多,这将导致职责依赖,相互之间就产生影响,从而大大损伤其内聚性和耦合度。通常意义下的单一职责,就是指只有一种单一功能,不要为类实现过多的功能点,以保证实体只有一个引起它变原创 2011-03-16 14:57:00 · 1172 阅读 · 0 评论 -
Java, C#, JavaScript三种语言实现单例模式
无论任何一门语言,模式的思想都一样,不一样的就是语言的细节。Java版:public class Singleton { private volatile static Singleton instance; private Singleton(){}; public static Singleton getInstance() { if(instance == nul原创 2012-10-24 17:28:28 · 1573 阅读 · 0 评论 -
Java, C#, JavaScript三种语言实现工厂模式
工厂模式的思想是:”把实例的创建延迟到子类去“Java版抽象产品类:package Factory;public interface IProduct { void doSomething();}具体类1,具体类2:package Factory;public class Product1 implements IProduct { @Overrid原创 2012-10-25 15:49:31 · 2993 阅读 · 0 评论