L
lichaogang
Unregistered / Unconfirmed
GUEST, unregistred user!
现有一小系统,要求如下:
设计一个预警系统,可以定时运行,能够找出一些问题,并自动发送EMail给相应的用户以提醒。如,某一个定单就要开始生产了,但物料还没有到齐,这时就要发一个预警给相应的用户。
现在公司提出了三种预警的要求,分别称为AlertA,AlertB,AlertC吧。
分析:
1.对于这三种预警而言,它们的运行逻辑都是相同的,可以分为三步,即 检查数据,产生预警-->保存相应预警并设置状态--->发送Email(格式不同)给相关用户。
2.公司以后可能会扩充预警的种类。
不知这种情况下各位高人会用什么方法来开发??
-------------------------------------------------------------
基于以上两点,我想先写一些基础的类以实现它的宏观上的行为。
大致如下:
1>写三个类(接口),分别体现以上三步的功能。
2>具体的预警再实现具体的类再写具体的计算方法。
3>因为三步中每一个类都是对应的(配套的),所以准备采用工厂方法模式将三个类实例的创建封装起来。
问题:
在系统中要分别运行三种预警(也可能是N种),这就要求用工厂一一创建类实例并运行之,为此,我在工厂的构造函数上加入了一个参数以标识需要创建哪三个类的实例,这样就要求将预警的“类别”作为参数来创建工厂类的实例并要将它硬编码到系统中!!
不知各位虾可有更好的方法或是可以解决以上之问题,就不吝赐教,3ks.
设计一个预警系统,可以定时运行,能够找出一些问题,并自动发送EMail给相应的用户以提醒。如,某一个定单就要开始生产了,但物料还没有到齐,这时就要发一个预警给相应的用户。
现在公司提出了三种预警的要求,分别称为AlertA,AlertB,AlertC吧。
分析:
1.对于这三种预警而言,它们的运行逻辑都是相同的,可以分为三步,即 检查数据,产生预警-->保存相应预警并设置状态--->发送Email(格式不同)给相关用户。
2.公司以后可能会扩充预警的种类。
不知这种情况下各位高人会用什么方法来开发??
-------------------------------------------------------------
基于以上两点,我想先写一些基础的类以实现它的宏观上的行为。
大致如下:
1>写三个类(接口),分别体现以上三步的功能。
2>具体的预警再实现具体的类再写具体的计算方法。
3>因为三步中每一个类都是对应的(配套的),所以准备采用工厂方法模式将三个类实例的创建封装起来。
问题:
在系统中要分别运行三种预警(也可能是N种),这就要求用工厂一一创建类实例并运行之,为此,我在工厂的构造函数上加入了一个参数以标识需要创建哪三个类的实例,这样就要求将预警的“类别”作为参数来创建工厂类的实例并要将它硬编码到系统中!!
不知各位虾可有更好的方法或是可以解决以上之问题,就不吝赐教,3ks.