寻找关于如何构建/构建应用程序的一些指导,我遇到了一些困难。请不要限制技术细节的答案,因为我不确定我是否以最有效的方式做事。我在VB.NET中给出了例子,但请随意使用c#,因为这是我们的官方目标语言。我只是比较了解vb。此外,我们正在使用Visual Studio 2008.继承/架构
因此,该场景: 我们正在编写一个基于Web的应用程序(希望)可以为几个客户定制。 为了简洁起见,不要放弃农场,我们假设它是一个人员应用程序。
所以,我将要有一个Person基类。这将只有非常一般的方法。 它有一个公共属性 班级Class1中的名称。
为了讨论,下面我将创建一个新的项目/组件 Person.Employee现在
,因为我可能会想这个应用程序出售给模特儿经纪公司或建筑公司,也许我想添加一些非常奇特的属性。 CheekStructure或CanOperateHeavyMachinery
所以,我会创建新的项目工作室称为 Person.Employee.TinasModeling & Person.Employee.TomsConstructionCompany 将包含代码只有一个特定的公司。
您可能会认为每个这些程序集将只包含适用于层次结构中程序集级别的业务逻辑。
请记住,这是针对许多不同公司的自定义应用程序,但都涉及人员。所以这就是为什么我想出这个模型。如果我们发现一个较低级别的错误,我只想修复它,并发送一个dll或2.这个结构非常严重地针对我们,可能有20个或更多的定制应用程序。分销和维护是PARAMOUNT的关注点。开发人员不多。比我多,但少于3格。
现在,问题所在。
为了简单起见,我有Class1。
在我的网络应用程序中,我有一个参考Person.Employee.TinasModeling 此Web应用程序项目仅用于Tinas建模。
如果我有
进口Person.Employee.TinasModeling
...
暗淡这个作为新的Class1
this.Name = “一些价值”
这将无法编译,除非我有也是对Person的引用。
问题1.我是否真的需要向基类Person(也可能是Person.Employee)提供ref,或者在没有它的情况下还有其他方法吗?我不希望任何人无意中在继承链的较低级别创建类。我不确定我想让他们在更低层次上创建它们,但也许我的担心是没有意义的?
问题2:这是架构这个最好的方法吗?请记住,维护和分配是这里的主要关注点。图片发现一个低级别的漏洞,不得不打开20个解决方案,构建每个解决方案,测试(即使是自动化),构建和分发。 我真的希望能够发出1个DLL(或者更新的那个,以及相关的也是?)并完成,如果该低级别的dll通过它的测试
如果我必须有参考所有较低级别的继承树,也许我应该把所有这一切都放到一个不同命名空间下的程序集中?
Cripes,希望这是非常明显的。我一直在搜索谷歌整天的继承样本,试图找到有用的东西。希望这里有人能清除我脑中的雾。
由于提前, 鲍勃