mvc设计模式

今天收集整理的:

M-model V-view C-control

经典的三层结构:
 数据层、表示层、业务层、


数据层:负责存放持久性(po)业务数据的持久化存储系统
业务层:提供商业逻辑服务的应用程序组件
表示层:提供数据输入、体验与数据呈现的应用程序组件,就是与用户打交道的UI界面(GUI,Web页面)

特征:
 1.每个层由一组相关的类或组件构成,共同完成特定的功能
 2.层与层之间存在自上而下的依赖关系,即上层组件会访问下层组件的API,而
下层组件不应该依赖上层组件
 3.每个层对上层公开接口,封装实现细节。当某一层的实现发生变化,只要他的APi不变,
就不会影响其他层。

经典的四层结构:
 表示层:
 业务层:
 业务逻辑层负责完成应用程序的逻辑功能,包括调用持久层完成实体对象的存取,安全检查,
事务控制
 持久层:封装了业务数据的访问细节,为业务层提供面向对象的API.
 数据层:

 优点:
 可维护性:修改某一层的代码,不会影响其他层的代码
 可重用性:下层的代码可以被不同的上层代码重用
 可扩展性:为软件系统添加新的功能更加容易
 可管理型:可以将工作分解给不同的开发小组

 缺点:
 不适合开发简单的软件系统
 增加了调试的困难
 对软件设计人员的要求比较高--要注意降低层与层之间的依赖

mvc的处理过程:
 首先控制器接受用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过视图呈现给用户.


Dao模式:
 Dao模式的主要目标:
 将数据存取逻辑封装成一个对象(DAO对象),对于业务层组件来说,DAO对象是一个"与数据来源无关的数据存取接口"。当数据来源必须更换时,只要改写DAO对象,而不会影响到业务层组件的使用
 
 优点:
 1.降低业务层组件与数据来源的耦合
 2.数据存取逻辑被封装在DAO对象中,可以降低程序开发的困难度.

DAO模式的实现至少需要一下三部分:
 DAO接口:用来公开类所提供的功能,即声明本类提供的所有数据库操作方法
 DAO接口的实现类:根据具体的数据源实现DAO接口中所声明的方法.
 DAO工厂类:用来产生DAO接口实现类的实例.



框架:
框架就是一组相互协作的类,对于特定的一类软件,框架构成了一种可重用的设计

软件框架:
  项目软件开发过程中提取特定领域软件的共性部分形成的体系结构,不同领域的软件项目有着不同的框架类型,框架的作用在于:由于提取了特定领域软件的共性部分,因此在领域内新项目的开发过程中代码不需要从头编写,只需要在框架的基础上进行一些开发和调整便可满足要求,对于开发过程而言,这样做会提高软件的质量,降低成本,缩短开发时间,使得开发越来越轻松.  框架构成了通用的、具有一般的系统主体部分,二次开发人员只想做填空题一样,根据具体业务,完成特定系统中与众不同的特殊部分

   框架与架构之间的关系:
   框架不是构架,体系结构确定了系统整体结构、层次划分,不同部分之间的协作等设计考虑。框架比架构更具体,更偏重于技术涉嫌,确定框架后,软件体系结构也随之确定,而对于同一软件体系结构(比如Web开发中的MVC),可以通过多种框架来实现
  
   框架与设计模式之间的关系:
   设计模式与框架在软件设计中是两个不同的研究领域,设计模式研究的是一个设计问题的解决方法,一个模式可应用于不同的框架和被不同的语言所实现,而框架则是一个应用的体系结构,是一种或多种设计模式和代码的混合体虽然他们有所不同,但却共同致力于使人们的设计被重用,在思想上存在统一性的特点,因而设计模式的思想可以在框架设计中进行应用.

   框架和设计模式存在着显著的区别,主要表现在二者提供的内容和致力应用的领域:
   1,从应用领域上分,框架给出的是整个应用的体系结构,而设计模式则给出了单一设计问题的解决方案,并且这个方案可以在不同的应用程序或者框架中进行应用.
   2,从内容上分,设计模式是一个单纯的设计,这个设计可以被不同语音以不同方式来实现,而框架则是设计和代码的一个混合体,编程者可以用各种方式对框架行扩展进而形成完整的不同的应用.
   3,设计模式比框架更容易移植,框架一旦设计成型,但是以其为基础进行应用的开发显然是要受制于框架的实现环境.

------------------------------------------------------------------

   主要是框架和设计模式的关系吧,以前知道框架,也知道mvc,可是不知道两个有什么关系.

   我的理解是框架可以表现成MVC的,比如SSH,而mvc中也可以用框架,比如Hibernate用于模块层.两个是不分家的。非要说区别,我觉得就是MVC是一个设计模式,抽象的,还没具体实现的。而框架确实货真价实的.

   拿小说举例子,孙悟空用委派气功的时候,憋气就是model,创建气蛋,向前推出气蛋,就是control,放出气蛋后,就是view。

   在孙悟空放出气蛋的过程中,比如憋气过程,就可以用Hibernate的,

   看过一部玄幻小说,说人体内有很多很多空间的,要懂得利用自身,才能走神之路.

   正如孙悟空的体内也有很多空间的,在孙悟空憋气的过程中,体内的小空间又在进行多少个mvc啊,

   ....

 

猜你喜欢

转载自cb123456.iteye.com/blog/2229186