我们正在将我们的应用程序从Classic VB迁移到VB.Net 2008,我需要创建一个基本的命名空间和业务层。我的方法是访问我们的顶级BA,找出我们(固定收益)公司的共同领域,并试图用尽可能多的泛型代码形成一个像样的继承模型。
每个人这样做的经验是什么?作为问题的第二部分,我们正在考虑将Web Focus合并到OLAP端,这将如何影响公司命名空间及其衍生产品的设计?
发布于 2009-04-21 12:38:02
我认为开始创建企业.NET框架的最好方法是从当前企业项目中获取现有代码开始。通过与BA交谈来从头开始构建框架,而不为特定的、具体的项目编写代码,可能会导致您在某些领域过度设计框架,而在其他领域完全错过一些必要的功能(同样,这可能会在框架客户机上无端地设置人为的约束)。
有关更完整的解释,请参阅Harvested Framework和此blog post上的Fowler's entry。
我不熟悉Web Focus,但我猜它会在某种程度上影响它,然而,如果你使用一个收获的框架,你在最初构建的几个应用程序中使用它将决定你在框架中使用Web Focus的方式。
发布于 2009-04-21 12:45:07
Jereme在框架上做到了这一点。我将简要介绍一些关于名称空间的显而易见的东西。
永远记住名称空间的用途--它提供了一个名称将存在的“空间”。特别是,它的目的是提供一个足够小的空间,以便在该空间中创建名称的人不太可能产生重复或混淆的名称。
只有当名称空间按照组织模式或领域知识进行组织时,这才能起作用。一个经常使用的简单示例是Company.BusinessUnit.Application模式。其理论是,在开发人员集中工作的给定应用程序,有较少的机会名称重复。对于大型应用程序则不是这样,因为您可能希望根据图层或区域进一步拆分它。类似地,如果业务单元的规模太大,您需要将其细分。
但在所有情况下,你实际上都是在尝试划分大脑集合,因为是大脑创造了这些名称。
发布于 2009-04-21 15:47:22
如果您的应用程序是在VB6 (而不是VB3)下,那么我强烈建议您首先对VB6中的类层次结构进行重新设计。这样做的原因是,在任何转换中,您都试图保留旧应用程序的行为。它延长了项目的时间来做这件事,同时也做了一个重新设计。
通过首先在应用程序的原始语言中进行设计更改,然后您可以确保任何错误都是由于设计而不是转换造成的。
在过去的20年里,我完成了我们软件的三个主要转换:(DOS到VB3) (VB3到VB6中的面向对象设计)和(VB6到VB.NET)。
最后,可以直接使用VB6进行设计,也就是很容易地移植到VB.NET。诀窍是将特定的VB6 API和构造隐藏在接口后面(图形、打印等)>
什么时候进行转换,我建议自上而下。首先将表单切换到调用VB6 COM DLL的.NET。然后转换每一层,直到到达底部的DLL。
同样,如果您尝试更改设计并为任何复杂的应用程序转换为另一种语言,您将使转换时间加倍。
https://stackoverflow.com/questions/772284
复制相似问题