代码之家  ›  专栏  ›  技术社区  ›  sharkin

ASP之间的组件重用。NET和C#。导航战鉴定小组

  •  0
  • sharkin  · 技术社区  · 17 年前

    这似乎是一个荒谬的问题,因为我在这方面相当缺乏经验。网。

    是否可以使用C#构建组件。NET,可以在ASP.NET中重用。网。例如,如果有人想将应用程序移植到网络上。

    如果可能的话,它们的便携性如何?也就是说,GUI在某种程度上可以重用吗?是否有中间格式可用作基础,还是需要将C#组件用作二进制文件?

    谢谢。

    编辑:

    感谢您的意见!我非常熟悉这个问题的设计方面,即如何对组件进行建模以供重用。然而,你让我意识到,问题实际上是——在多大程度上。NET在ASP和Windows之间的可重用性?可以说某些包裹。NET组件独立于环境,有些是特定于平台的?

    3 回复  |  直到 17 年前
        1
  •  5
  •   Ian Varley    17 年前

    当然-a。NET类可以用于任何类型的。NET应用程序。然而,这在一定程度上取决于你谈论的是应用程序的哪个部分。

    通常,Windows窗体用户界面不能作为ASP。NET用户界面,因为设计约束非常不同(即web浏览器只支持少量控件,通常使用流(而不是网格)布局等。同样,事件也不同(web窗体按钮与windows窗体按钮不同,等等)。

    不过,如果你做得正确,你可以很容易地重用的是业务逻辑。设计你的类,这样它们就不会在内部知道它是windows窗体还是web窗体(或控制台应用程序,或web服务等)。也就是说,这些类应该是业务逻辑的纯实现。然后,您可以在任何您想要的上下文中使用这些类。

        2
  •  3
  •   John Christensen    17 年前

    对你的问题的简短回答是肯定的——只需将你想在两个视图之间共享的代码分离到一个独立于接口的类中,最好是在一个单独的程序集中,并包含该程序集。

    长答案更复杂——实现这一点的能力因应用程序而异。与在幕后做很多事情的非常简单的UI应用程序(例如,由一个按钮组成的UI,然后启动一个复杂的数据操作过程)相比,你将能够为幕后做得不多的UI密集型应用程序(比如,某种图形游戏)分离出更少的代码。

    最后。NET为您提供了这样做的能力。你实际做到这一点的能力将在很大程度上取决于你自己的设计能力和你的特定要求。关于这个主题有很多文章可供选择——我建议先看看《设计模式》(尽管原版书用C++写了例子,但我相信有人写过一本用C#写例子的书。然而,我无法谈论它的质量。)

        3
  •  1
  •   Sergio    17 年前

    我以前从未做过,但我想你可以把公共代码放在一个单独的类上。UI需要复制,因为windows窗体和asp.net的编程方法完全不同。

    推荐文章