设计模式、框架、架构模式、软件架构 ---知识点整理

设计模式Design pattern:是一套被反复使用、多数人知道的、经过分类编目的、代码设计经验的总结。它涉及到了代码级别,侧重于解决实际的现实的问题。比如我们应该如何为不同的商品设计折扣的方式,采用策略模式。

常见设计模式: 工厂模式、单例模式、策略模式等

 

框架Framework:是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种定义认为,框架是可被应用开发者定制的应用骨架。前者是从应用方面而后者是从目的方面给出的定义。从定义看,它涉及到了一堆构件,以及这些构件之间的依赖关系、责任分配和流程控制等,说白了就是一堆类。这些类以及之间的关系构成了框架。比如想要让用户通过Servlet来访问页面,用Struts。

常见框架:spring /springMVC /struts/hibernate/mybatis

 

架构模式(架构风格):一个架构模式描述软件系统里的基本的结构组织或纲要。架构模式提供一些呈先定义好的子系统,指定它们的责任,并给出把它们组织在一起的法则和指南。从定义上来看,它是在指导我们如何组织代码,是一种具有指导意义的思想,比如要解决系统的数据与显示分离的问题,那就使用MVC模式呗。

常见架构模式:分层模式/C -S模式/主从设备模式/MVC模式/ORM模式

 

软件架构(software architecture):是一系列相关的抽象模式,用于指导大型软件系统各个方面的设计。 软件架构是一个系统的草图。软件架构描述的对象是直接构成系统的抽象组件。各个组件之间的连接则明确和相对细致地描述组件之间的通讯。在实现阶段,这些抽象组件被细化为实际的组件,比如具体某个类或者对象。

常见软件架构: 待更


三层架构模式, 将业务划分为:
1、表现层(UI):通俗讲就是展现给用户的界面
2、业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作。
3、数据访问层(DAL):该层所做事务直接操作数据库。
4、在N层架构中,一般还会有一个Model层,用来与数据库的表相对应。

UI层的Controller ( MVC 的C )通过业务逻辑层来得到数据(Model),并封装成视图数据(ViewModel),然后选择相应的View。


MVC模式 , 将表现层分离成:
1.Model是指数据,MVC的数据实际上是视图数据。
2.View指视图
3.Controller 除了数据与视图之外的部分,  负责显示界面、响应用户的操作、网络请求以及与 Model 交互。

MVC的重要特点是分离。两种分离:
1.视图和数据的分离,可使不同的视图对相同的数据进行展示 (比如一批统计数据可以分别用柱状图、饼图来表示);分离可视和不可视的组件,能够对数据进行独立测试。因为分离了可视组件减少了外部依赖利于测试。(数据库也是一种外部组件)
2.视图和表现逻辑的分离,Controller是一个表现逻辑的组件,并非一个业务逻辑组件。分离逻辑和具体展示,能够对逻辑进行独立测试。

MVC中使用的设计模式:
MV,MC都是观察者模式
M内部的组件组合模式
VC之间是策略模式(可以随时更换不同的控制器)


MVVM 模式:为了简化MVC 的Controller的功能, 把数据的加载、加工功能 (即数据转化成视图数据, 视图数据加载到视图的功能) 分离出来, 另外新增双向的视图绑定视图数据的功能,  独立成为VM层.

视图模型(ViewModel)是mvvm模式的核心。它有两个方向:
一是将模型(Model)转化成视图(View),即将后端传递的数据转化成所看到的页面。实现的方式是:数据绑定。
二是将视图(View)转化成模型(Model),即将所看到的页面转化成后端的数据。实现的方式是:DOM 事件监听。

 

 

你可能感兴趣的:(模式与架构)