【发布时间】:2008-11-22 20:07:18
【问题描述】:
我有一个大型 .NET Web 应用程序。该系统具有用于不同意图的项目(例如 CMS、论坛、电子商务),我注意到调用另一个项目的类的(幼稚)模式。例如,电子商务模块需要为产品动态生成文件的功能,我调用并引用 CMS 中的一个方法来执行此操作,因为文件处理实际上是 CMS 的工作。
显然(我知道为什么),这是一个糟糕的设计和高耦合的情况。
我知道一些处理高耦合的方法,比如重组项目(虽然我并不认为这是一个强大的解决方案),但我还能做些什么来减少高耦合?有什么简单的小窍门吗?此外,最好知道它们为什么/如何减少耦合。我使用 .NET 3.5 和 Sql Server 2005,因此 JMS(我在搜索有关此设计问题的提示时不断遇到)之类的东西不适用。
谢谢
顺便说一句,
我提出这个问题的原因之一是我已经阅读了与此类似的先前问题,但通常如果再次提出之前提出的问题,则可以通过不同的人回复帖子来学习不同的提示。
我知道依赖注入/IOC,但我对可以减少耦合的小事情很感兴趣。
在决定如何减少耦合时,我该如何选择使用静态类、接口派生类或 IOC 方法?此外,我可以开发一个可以调用静态类的 Web 服务——在我的解决方案中混合这些方法。
有趣的是,在我的应用程序中,我不希望它脱节。所以我只有一个论坛、电子商务系统和任何其他所需的模块,但一切都必须整合到一个站点中,因此每个模块(在我的 Visual Studio 解决方案中表示为一个专用项目)需要了解所有其他模块和工作用它。例如,我可能有一个处理用户配置文件的模块(使用 ASP.NET 成员资格、角色等),但这将与论坛模块一起使用,因为论坛上的用户将是网站上的注册用户(一个整个登录),他或她的个人资料将来自用户个人资料模块。这与我在其他网站上看到的单独的个人资料相反)。
【问题讨论】:
标签: c#