java设计模式之工厂模式

来源:互联网 发布:变声软件哪个好 编辑:程序博客网 时间:2024/06/14 05:29



设计模式在哪一种语言都可以使用,重要的是理解其设计思想以及运用的场景。

程序设计要做到便于程序的扩展、便于程序的维护、要能运行时扩展,应遵循开闭原则,对扩展开放,对修改关闭。

传统项目中哪里用到对象就去new一个出来,修改时存在运行时加载是不好的,违背了开闭原则。


一、简单工厂模式

简单工厂模式解决了对象的实例化问题。当需要大量的实例化某种、某些、谋批类对象的时候,因为我们按照原来的new方式把类实例化放在类里,然后在变动、扩展维护、升级等方面就会变得很麻烦,所以把这些类的实例化放在某些区域地方统一管理,可以定义一个实例化类对象的类,封装创建对象代码,由这个类来封装实例化的行为。把变化的地方抽取出来,不变的就放在原来的地方。如果修改的话,只需要修改简单工厂,然后加载进来,维护扩展运行就分割开来了,降低了耦合度。


示例;




二、工厂方法模式


从上面可以看出对象的实例化就是存在依赖性,提取出来放在工厂,对于扩展维护有好处。通过继承抽象类获取不同的对象类型,但是在大的项目结构中,简单工厂用起来还是有点麻烦的。所以出现工厂方法模式。
其原理就是将程序里的业务要素对象实例化功能抽象成抽象方法,在不同的业务子类里具体实现功能。定义一个创建对象的抽象方法,由子类决定要实例化的类,工厂方法将类的实例化推迟到子类。


三、抽象工厂模式
上面简单工厂用于处理不同类的对象创建,现在可以继续把对类对象的创建进行抽象,由子类进行具体类个性化的创建和实现。
其原理:定义了一个接口用于创建相关或有依赖关系的对象类型,而无需明确指定具体类。





阅读全文
1 0
原创粉丝点击