|
|
1
5
当然-a。NET类可以用于任何类型的。NET应用程序。然而,这在一定程度上取决于你谈论的是应用程序的哪个部分。 通常,Windows窗体用户界面不能作为ASP。NET用户界面,因为设计约束非常不同(即web浏览器只支持少量控件,通常使用流(而不是网格)布局等。同样,事件也不同(web窗体按钮与windows窗体按钮不同,等等)。 不过,如果你做得正确,你可以很容易地重用的是业务逻辑。设计你的类,这样它们就不会在内部知道它是windows窗体还是web窗体(或控制台应用程序,或web服务等)。也就是说,这些类应该是业务逻辑的纯实现。然后,您可以在任何您想要的上下文中使用这些类。 |
|
|
2
3
对你的问题的简短回答是肯定的——只需将你想在两个视图之间共享的代码分离到一个独立于接口的类中,最好是在一个单独的程序集中,并包含该程序集。 长答案更复杂——实现这一点的能力因应用程序而异。与在幕后做很多事情的非常简单的UI应用程序(例如,由一个按钮组成的UI,然后启动一个复杂的数据操作过程)相比,你将能够为幕后做得不多的UI密集型应用程序(比如,某种图形游戏)分离出更少的代码。 最后。NET为您提供了这样做的能力。你实际做到这一点的能力将在很大程度上取决于你自己的设计能力和你的特定要求。关于这个主题有很多文章可供选择——我建议先看看《设计模式》(尽管原版书用C++写了例子,但我相信有人写过一本用C#写例子的书。然而,我无法谈论它的质量。) |
|
|
3
1
我以前从未做过,但我想你可以把公共代码放在一个单独的类上。UI需要复制,因为windows窗体和asp.net的编程方法完全不同。 |