0

我们正在将我们的应用程序从 Classic VB 迁移到 VB.Net 2008,我需要创建一个基本命名空间和业务层。我的方法是访问我们的顶级 BA 并确定我们(固定收入)公司的共同领域,并尝试用尽可能多的泛型代码形成一个体面的继承模型。

每个人的经验是什么?作为问题的第二部分,我们正在考虑将 Web Focus 合并到 OLAP 端,这将如何影响公司名称空间及其衍生产品的设计?

4

3 回答 3

4

我认为开始创建企业 .NET 框架的最佳方式是从当前企业项目中获取现有代码开始。通过与 BA 交谈而不为特定的具体项目编写代码从头开始构建框架可能会导致您在某些领域过度设计框架,而在其他领域完全错过一些必要的功能(同样,它可能会对您的框架施加人为限制客户无缘无故)。

有关更完整的解释,请参阅 Fowler 在Harvested Framework上的条目和此博客文章。

我不熟悉 Web Focus,但我猜它会以某种方式影响它,但是,如果您使用 Harvested Framework,那么您在构建的前几个应用程序中对它的使用将影响您在其中使用 Web Focus 的方式框架。

于 2009-04-21T12:38:01.977 回答
0

Jereme 在框架上是正确的。我将简要提到一些关于名称空间的明显内容。

永远记住命名空间的用途——它提供了一个名称将存在的“空间”。特别是,它旨在提供一个足够小的空间,以使在该空间内创建名称的人不太可能产生重复或混淆的名称。

这只有在命名空间按照组织模式或领域知识组织时才有效。一个经常使用的简单示例是Company的模式。业务单元申请。该理论认为,在开发给定应用程序的一组开发人员中,名称重复的可能性较小。这不适用于大型应用程序,您可能希望根据层或区域进一步分解它。同样,业务单位太大,你会想把它分解。

但在所有情况下,您实际上是在尝试对大脑集进行分区,因为创建名称的是大脑。

于 2009-04-21T12:45:06.890 回答
0

如果您的应用程序在 VB6(不是 VB3)下,那么我强烈建议您首先在 VB6 中重新设计类层次结构。这样做的原因是,在任何转换中,您都试图保留旧应用程序的行为。是延长项目时间来做这件事并同时进行重新设计。

通过首先在应用程序原始语言中进行设计更改,您可以确保任何导致的错误都是由于设计而不是转换造成的。

在过去的 20 年里,我对我们的软件进行了 3 次重大转换;(DOS 到 VB3)(VB3 到 VB6 中的面向对象设计)和(VB6 到 VB.NET)。

最后,直接在 VB6 中进行设计,即可轻松移植到 VB.NET。诀窍是将特定的 VB6 API 和结构隐藏在接口后面(图形、打印等)>

When do the conversion I recommend working from the top down. Change over your forms first to .NET which calls the VB6 COM DLLs. Then convert each layer over until you reach the bottom DLLs.

Again, if you try to change the design AND convert to another language for any complex application you will double the conversion time.

于 2009-04-21T15:47:21.977 回答