读《大话设计模式》——简单工厂模式(一)
《大话设计模式》一本不错的.NET设计模式的书。小菜与大鸟诙谐易懂的语言,受益匪浅。少说废话,分享下,同时也希望各位高手指教指教……
简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类(这些产品类继承自一个父类或接口)的实例。如下:
举个简单的例子吧:商场销售,可以打5折,打7折,打9折,买200送200,买一送一,积分达到多少时免费赠送1000元上班,这时候简单工厂模式就可以派上用场了!
简单工厂模式的特点:简单工厂模式的创建目标,所有创建的对象都是充当这个角色的某个具体类的实例。工厂类是关键的所在。包含判断逻辑,根据外界给定的条件去实例化,而无需了解这些对象是如何创建以及如何组织的。有利于整个软件体系结构的优化。当然也有其存在的缺点:当判断逻辑增加时,类里面的东西就多,可扩展性不好,这就是所谓的高内聚。
简单工厂模式很好的体现了面向对象的思想各个子类的耦合性低几乎不相关,是一种不错的设计模式。代码无错就是优??其实不然。可扩展性、低耦合性往往也是我们要考虑的重点。编程是一门技术,更是一门艺术!!!