我们正在从Classic VB将我们的应用程序迁移到VB.Net 2008,我需要创建一个基本命名空间和业务层。我的方法是访问我们的顶级BA并确定我们(固定收益)公司的公共领域,并尝试使用尽可能多的泛型代码来形成一个像样的继承模型。
每个人都有这样做的经验,作为问题的第二部分,我们正在考虑将Web Focus纳入OLAP方面,这将如何影响公司命名空间及其衍生产品的设计?
答案 0 :(得分:4)
我认为开始创建企业.NET框架的最佳方式是从当前企业项目中收集现有代码。通过与BA进行交流而无需为特定的具体项目编写代码来构建框架可能会导致您在某些领域过度设计框架并完全错过其他领域的某些必要功能(同样,它可能会对您的框架施加人为约束)客户没有充分理由)。
有关更完整的说明,请参阅Fowler在Harvested Framework和blog post上的条目。
我不熟悉Web Focus,但我猜它会以某种方式影响它,但是,如果你使用Harvested Framework,你在前面构建的几个应用程序中使用它会影响你的使用方式Web焦点在框架内。
答案 1 :(得分:0)
Jereme在框架上是正确的。我将简要提一下关于名称空间的明显内容。
永远记住命名空间的用途 - 它提供一个名称将存在的“空间”。特别是,它意味着提供一个足够小的空间,以便在该空间内创建名称的人不太可能产生重复或混淆的名称。
这只有在命名空间按组织模式或领域知识组织时才有效。通常使用的一个简单示例是 Company 。 BusinessUnit 。 Application 的模式。理论上,在开发给定应用程序的开发人员中,名称重复的可能性较小。对于大型应用程序而言,情况并非如此,您希望根据图层或区域进一步细分。同样,业务部门太大了,你要打破它。
但是在所有情况下,你真的试图分割大脑集,因为它是创造名字的大脑。
答案 2 :(得分:0)
如果您的应用程序是在VB6(而不是VB3)下,那么我强烈建议您首先在VB6中重新设计类层次结构。这样做的原因是,在任何转换中,您都尝试保留旧应用程序的行为。延长项目时间来完成这项工作并同时进行重新设计。
通过首先对应用程序原始语言进行设计更改,您可以确保所产生的任何错误都归因于设计而非转换。
在过去的20年里,我完成了三次软件转换; (DOS到VB3)(VB3中的VB3到面向对象的设计)和(VB6到VB.NET)。
最后,直接在VB6中进行设计即可轻松实现VB.NET的端口。诀窍是隐藏特定的VB6 API和接口背后的构造(图形,打印等)>
转换何时我建议从上到下进行工作。首先将表单更改为调用VB6 COM DLL的.NET。然后转换每个图层,直到到达底部的DLL。
同样,如果您尝试更改设计并转换为任何复杂应用程序的另一种语言,您将使转换时间加倍。