设计模式——工厂系列

来源:互联网 发布:fpga与单片机的区别 编辑:程序博客网 时间:2024/06/07 14:54


简单工厂:


 

 

特点:工厂类中包含了必要的逻辑判断,根据客户端的选择条件动态实例化相关的类,客户端中避免了和具体产品的依赖。

缺点:当要继续增加运算类时,需要在工厂类中增加相应的逻辑。违背了开放-封闭原则。

 

 

工厂方法:


特点:对每一个产品都有对应的工厂,当增加新产品(在这里就是增加运算类)时,只需要增加运算类和相应工厂,不需要修改,弥补了简单工厂的不足。由子类决定实例化哪一个类,使一个类的实例化延迟到其子类。

缺点:当产品数量过多时,会造成工厂泛滥。

 

客户端代码:

Ifactory factory = new AddFactory();

Operation oper = factory.createOperation();

Double result = oper.GetResult();

 

抽象工厂:


 

 

特点:支持一系列产品的扩展及创建。产品系列的交换容易。

 

客户端代码:

Ifactory factory = new sqlServerFactory();

Iuser user = factory.createUser();

Idepartment dep = factory.createUser();

0 0
原创粉丝点击