昨天跟架构师讨论一个项目的设计,谈到MVC模式。MVC模式,是先从View设计还是先从Model设计?
架构师的观点是,只要使用了某个模式,其中就存在必然的”Law”,不遵循就会误入歧途。例如MVC必须要从Model写起,因为Model是稳定的,是“对自然界的建模”,与业务无关,而View是易变的,是具体业务的展现。
我是实用主义者,我认为一个稳定的Model是需要领域积累的,一开始就做到一个稳定的Model,应对不断变化的需求非常难。很多时候从View写起,可以迅速实现业务。当业务发展到一定阶段,再抽象出一个Model也是水到渠成的事情。开发的过程本身也是对领域加深认识的一个过程。
但是也有些现状是“你不去想就不会有”,一堆View拼凑起来的项目太多了,其实最开始用一个不稳定的Model,加以迭代,最终变成稳定的,也是一个很好的过程?