我正在教一些建立Web应用程序的人。他们了解并使用MVC,但我对构建Web应用程序时使用的其他常见模式感兴趣。
@H_301_2@那么,你发现什么样的模式可以很好的适应一个正确的MVC应用程序。也许是异步进程,计划任务,处理电子邮件等等。你希望你知道什么来寻找或避免?
@H_301_2@不是这个问题很重要,但是我们正在为大多数应用程序使用ASP.NET和Rails。
解决方法
一旦进入MVC,就可以探索“四人帮”书籍以外的模式,并进入Martin Fowler的“
Patterns of Enterprise Application Architecture”。
@H_301_2@Registry模式可用于使知名对象在整个对象层次结构中可用。本质上是使用全局数据的替代品。
@H_301_2@许多MVC框架也采用Front Controller和Two-Step View模式。
@H_301_2@MVC中的“模型”最好设计为Domain Model模式,尽管一些框架(由Rails领导)conflate具有ActiveRecord模式的模型。我经常advise,Model和ActiveRecord之间的关系应该是HAS-A,而不是IS-A。
@H_301_2@还在波特兰图案存储库wiki上阅读关于ModelViewController。关于MVC,面向对象以及补充MVC的其他模式,如Observer,有一些很好的讨论。