模式就是最好的架构。
####架构的产生
在我开始接触架构设计的时候,我买了几本书然后我就开始学习了。我发现在这些书中都出现了一些相似的东西,如基本的分层设计、Pipe and Filters模式、MVC模式。然后,我开始意料到这些模式本身就是最好的架构。
MVC模式本身也是接于分层而设计的,如下图是Spring MVC的请求处理过程:
而这个框架只是框架本身的架构,这一类也是我们预先设计好的框架。
在框架之上,我们会有自己本身的业务所带来的模式。如下图是我的网上搜罗到的一个简单的发送邮件的架构:
这样的模式则是由业务发展的过程中演进出来的。
###预设计式架构
在我们日常使用的框架多数是预先设计的构架,因为这个架构本身的目标是明确的。系统会围绕一定的架构去构建,并且在这个过程中架构会帮助我们更好地理解系统。如下图所示的是Emacs的架构:
它采用的是交互式应用程序员应用广泛的模型-视图-控制器模式。
###演进式架构
演进式架构则是我们日常工作的业务代码库演进出来的。由于业务本身在不断发展,我们不断地演进系统的架构。