您的位置:首页 > 其它

简单工厂模式--加减乘除运算

2015-08-07 16:38 309 查看
学习来自《大话设计模式》

下面基于简单的<加减乘除运算>实例来讲讲实用简单工厂模式:<备注:以后根据认识的加深,可以添加和修改内容>

需求分析:希望程序提供“加减乘除”四种功能。

功能分析:四种功能都是并列的,相互独立的。

拓展分析:很有可能拓展新的功能,比如“开根运算”。

如何设计:

1、根据“功能分析”可以将四种功能都归并一个父类出来,然后创建四个子类继承它,并且提供空的方法(OC中模拟抽象方法或者虚函数),这四个子类分别都要继承并重写实现这个空方法。这样,一个抽象的父类,四个具体实现的子类,就可以形成多态的应用:父类声明,子类创建实例。

2、然后创建一个工厂类与功能的抽象父类相互关联,然后实现根据需求,应用多态来创建功能的实例。

#import <Foundation/Foundation.h>
#import "OperationFactory.h"
int main(int argc, const char * argv[]) {
@autoreleasepool {
// insert code here...
Operation *op = [OperationFactory creatOperation:@"+"];
NSLog(@"简单工厂模式算出结果%f",[op getResult:18 second:8]);
Operation *op2 = [OperationFactory creatOperation:@"/"];
NSLog(@"简单工厂模式算除法%f",[op2 getResult:18 second:0]);
NSLog(@"Hello, World!");
}
return 0;
}


main方法
运行结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: