对于围绕.NET应用程序构建以下设计的任何帮助都将不胜感激。
想象一下,我们有不同类型的文章:比方说,NewsArticle,BlogArticle,EditorialArticle等。它们在某些方面是不同的,在其他方面是相同的,因此它们都继承自Article基类。
我们需要一个漂亮的模块化设计,以便其中一些文章类型可以打包在单独的模块中,或者开发人员可以构建自己的文章类型。
当文章发布并公开显示时,必须运行一系列服务 - 例如人们需要通过电子邮件发送,必须在数据库中更新字段等。
这让我想起了观察者/事件模式,但我不确定如何注册观察者。在这种情况下,究竟是什么主题 - 是文章本身吗?我们应该在哪里注册事件 - 也许在Global.asax或类似事件中 - 这对我来说似乎有点奇怪?我是走在正确的轨道上 - 整体顶层架构会是什么样子?
答案 0 :(得分:0)
如果必须运行服务,那么观察者就是他们自己的服务。
答案 1 :(得分:0)
这是Observer pattern,您不需要在Global.asax中注册事件,而是在此DP的Subject类中注册Observer类。
答案 2 :(得分:0)
MSDN上有Exploring the Observer Design Pattern解释观察者模式以及如何在.NET中使用此模式(也称为事件模式)