#绪论 #
本文打算探讨一下软件架构设计的一些设计原则与经过实践验证的设计模式。这些软件架构设计的原则和模式已经有几十年的历史了。
#分层架构设计#
软件,应该根据其职能分成多个层次。分层架构设计思想,有很多成功的例子。如网络设计上,OSI七层网络模型,就把网络应用软件,按照功能分成了职能各异的七个层次。实际网络中使用的TCP/IP协议,也遵循OSI七层网络模型,只是把OSI的应用层,表示层和会话层全部糅合在应用层内而已。
可以说,按照功能进行分层,是一个经过实践检验、行之有效的软件设计方案。
##前端和后台##
从大的范围来分,软件可以分为两个层次:前端和后台。这两个概念大家应该都很熟悉。很多程序员招聘广告,都区分前端工程师和后台工程师。
前端
前端,也常称为UI。是用户界面应用程序。用户界面应用程序,是直接和用户进行交互的软件。常见的前端应用有:命令行程序,Web应用,桌面应用(包括移动设备应用)。除了命令行程序外,都是图形化界面。本文只介绍图形化界面的前端程序。
前端程序,负责与用户进行交互。负责接收和校验用户输入,并向用户反馈输出。其业务操作是委托给后台来实现的。
前端程序,必用的设计模式,是20世纪80年代发现的MVC模式。所有成功的前端应用,都使用了MVC模式或者它的一些变体。
MVC模式,MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写。它是Gof设计模式一书中介绍的第一种设计模式,是设计模式之母。
MVC模式&#