单例模式和简单工厂心得

单例模式和工厂方法可以说是在软件设计模式中目前用得比较多的,目前在公司做的项目也经常会接触到,他们都实现了类的创建封装,让代码维护变得更加简单。
首先说单例模式,单例模式可以保证整个系统中一个类只有一个实例,而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源,如果只希望在系统中某个类的对象有且只能存在一个,单例模式是最好的解决方案。

对于某些系统来说,有些类只有一个实例很重要,如最常见的数据库连接配置对象。它在整个系统中只需要一个就足够了,多了就会产生很多不必要的开销,造成资源浪费。

工厂方法则非常复杂,这里只说比较简单的简单工厂模式,而感兴趣的读者可以去看看工厂方法模式。从设计模式的类型上来说,单例模式和简单工厂模式都是属于创建型模式,简单工厂模式又叫做静态工厂方法,是由一个工厂对象决定创建出哪一种产品类的实例。

简单工厂模式一般会分三个角色,第一个工厂(Creator)角色,它是负责实现创建所有实例(产品)的内部逻辑。工厂类可以被外界直接调用,创建所需的产品对象。第二个抽象产品(Product)角色,为所有不同类型的产品,定义一种借口。第三个实例产品(Concrete Product)角色,是简单工厂模式的创建目标,所有创建的对象都是充当这个角色的某个具体类的实例。

单例模式和工厂方法都为实例对象的创建提供了封装特性,有利于整个软件体系结构的优化。但是这些模式亦不能乱用,比如单例模式,在一个系统中如果需要有多个实例的时候,使用单例模式甚至会出现功能错误。所以在使用设计模式的时候我们需要多方面考虑,让模式为我们带来真正意义上的优化。

简单工厂图示

Facebooktwittergoogle_pluslinkedinmail

Need a translation service?

Please enter your personal details and we will contact you shortly

Words translated by CCJK

146,096,379

We are Certified

Our Client Satisfaction

rating for previous quarte

4.00

Over 95% of our clients recommend our language services to others

Copyright © CCJK Technologies Co., Ltd. 2000-2017. All rights reserved.
TOP