最近开始准备自己研究一个简单的报名系统,该从什么入手呢?先从软件架构入手吧,一个好的架构设计可以事半功倍,所以让我们先来了解了解软件架构的那些二三事吧。当你理清层次之后,才知道你所学习的知识是如何互相合作,从而构成一个完整的项目。

软件三层架构

首先,先说一下MVC并不是软件三层架构的英文缩写,新手很容易误解。
从一个项目开始,首先需要进行架构设计,一般采用分层式的架构设计,即三层架构。

接着我们根据项目的具体需求考虑设计模式:例如MVC模式,抽象工厂模式等等。

MVC模式

MVC是一种设计模式,一种软件设计典范,用一种业务逻辑,使数据,界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面与用户交互的同时,不需要重新编写业务逻辑。
MVC被独特的发展起来用于映射传统的输入,处理和输出功能在一个逻辑的图形化界面结构中。

Model(模型):是指模型表示业务规则。在MVC的三个部件中,模型拥有最多的处理任务。被模型返回的数据是中立的,模型与数据格式无关,这样一个模型能为多个视图提供数据,由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。

View(视图):视图代表模型包含的数据的可视化。是指用户看到并与之交互的界面。比如由html元素组成的网页界面,或者软件的客户端界面。MVC的好处之一在于它能为应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,它只是作为一种输出数据并允许用户操纵的方式。

Controller(控制):控制器作用于模型和视图上。它控制数据流向模型对象,并在数据变化时更新视图。它使视图与模型分离开。

核心思想:解耦
优点:降低个模块之间的耦合性,方便变更,更容易重构代码,最大程度实现了代码的重用。

举一个小小的例子:如图,一般网页的工作是需要前端工程师来完成,这时候写好的页面称之为静态页面,可以被浏览器直接解释执行。这时候的页面还不具备动态的功能。拿注册功能举例,当用户进入注册页面后,在输入框输入自己的用户名、密码等数据,数据会传递到后台,后台再存到数据库相应的表中,存储的结构一般为字段名+值,存储成功后,后台再会返回相应的数据告诉页面,页面这个时候再提示用户注册成功。

Last modification:January 28, 2020
如果觉得我的文章对你有用,可以打赏一瓶汽水钱嗷~