【发布时间】:2011-07-29 11:36:34
【问题描述】:
我的工作涉及在 C#.NET 中编写相对较小的 WinForms 应用程序。有时我得到的项目是我已经完成的项目的轻微变体。通过将域逻辑抽象到它自己的程序集中,我已经能够利用业务逻辑代码进行重用,并在较新的项目中简单地引用它。
但是,我不得不重写很多视图代码(例如表单)。我过去曾尝试将继承与 Form 对象一起使用,但即使它有效,它对设计者来说并不是一个好兆头,并且还需要对项目文件进行一些黑客攻击才能以正确的顺序编译。有没有一种简单的方法可以利用我的视图代码在新项目中重用?
【问题讨论】:
-
继承只能帮到你。一旦重写开始变得繁重并且工具妨碍了,就该大刀阔斧了。究竟为什么你对设计师有问题完全不清楚。
-
我的设计器的问题是当我试图用设计器打开它时它无法加载父窗体的设计。我想这是有道理的,如果继承表单并不一定意味着继承设计器代码。我偏爱使用继承,因为它非常适合我的情况,即获取一个对象(我的表单)并根据新要求覆盖 some 行为。
标签: c# winforms code-reuse