设计模式学习
fgm905
爱好运动,爱好编程,爱好看书
展开
-
工厂模式 之 简单工厂
工厂模式的作用在于将创建对象的过程封装到一个类中完成,减少在客户端的耦合程度。 工厂模式有几种实现的形式,今天从最简单的一种实现入手,简单工厂模式(静态工厂模式)。简单工厂模式也称为静态工厂模式,就是因为在整个工厂类中,只有一个静态的工厂方法用于创建实例对象。 简单工厂模式中一共包含了三个角色类型: 工厂角色,抽象产品角色,具体产品角色。 工厂类角色: 担任这个角色的是工厂方法模...2010-03-23 15:35:51 · 106 阅读 · 0 评论 -
工厂模式之 工厂方法
前面学习简单工厂模式的时候提到,简单工厂虽然很好用,就一个静态工厂方法就解决了所有产品类实例化的工作。但也正是因为它将所有产品类的创建逻辑都封装到一个静态方法中,如果现在我需要添加一个新的产品类,那么就必须修改简单工厂的这个静态方法;这样的话,就破坏了“开-闭”原则,对修改没有完全的关闭。今天讲的工厂方法模式,正是对简单工厂模式的补充,使用工厂方法模式弥补了简单工厂模块对“开-闭”原则的支持不...2010-03-24 14:50:08 · 123 阅读 · 0 评论 -
设计模式之 抽象工厂
前面学习了简单工厂和工厂方法模式,今天来学习工厂模式中最最抽象的一种-- 抽象工厂模式。抽象工厂模式比工厂方法处理的问题更具有抽象性与一般性。它们的区别在于: 工厂方法模式针对的是一个产品等级结构;而抽象工厂模式是针对多个产品等级结构而出现的。 说的通俗点,一个产品等级结构就是一类产品类的总称;例如: 运动鞋,休闲鞋,皮鞋等,所有鞋的种类就构成一个鞋的等级结构。而当两个或两个以上具...2010-04-10 10:21:49 · 102 阅读 · 0 评论 -
原型模式之 深复制和浅复制
浅复制 被复制对象的所有变量都含有与原对象相同的值,而且对其他对象的引用仍然是指向原来的对象。即 浅复制只负责当前对象实例,对引用的对象不做复制。 深复制 被复制对象的所有的变量都含有与原来对象相同的值,除了那些引用其他对象的变量。那些引用其他对象的变量将指向一个被复制的新对象,而不再是原有那些被引用对象。即 深复制把要复制的对象所引用的对象也都复制了一次,而这种对被引用到的对...2010-04-14 12:27:45 · 96 阅读 · 0 评论