假设我有3个Widget自动化工厂:FactoryA,FactoryB和FactoryC。我将开发和维护一个有助于这些工厂自动化(运动控制,机械定位等)的.Net应用程序。其中模块差别很大的模块化设计
该应用程序必须与3个工厂具有相同的接口,但这些工厂在操作和物理布局上有很大不同。他们通常遵循相同的程序流程:Step1,Step2,Step3,Step4。但是,每个工厂的这些步骤与它们的共同点不同。所以从逻辑上讲,我必须把事情分解成更多的步骤。我希望能够更新每个工厂而不会冒任何破坏风险。每个工厂也有不同的数据库要求,我必须编写不断变化的自定义记录。
那么我应该如何将核心功能置于高层?
Currenly我有这样的事情:
FactoryA: Input->ProcessA.dll->Output
FactoryB: Input->ProcessB.dll->Output
FactoryC: ...
这种方法并不明显的原因保持良好。但至少所有不同的步骤都是高度定制的。
我会更好的有一个单一的进程DLL,并存储在配置文件中所需的步骤来实现所需的输出?换句话说,如果每个Factory使用同一个DLL中的随机100个500步(方法,这里夸大),我应该如何存储每个工厂所需的序列?
这个问题非常开放。如果这个计划足够好,也许会有1000个工厂,它有一天必须处理。我想添加功能,使其整洁,但不能冒基本操作中断的风险。
你有什么想法?
这让我(一个相对较新的程序员)可以构建一些东西。谢谢! – bufferz 2009-07-31 03:35:30