三层转七层总结
来源:互联网 发布:美洲狮步战车数据性能 编辑:程序博客网 时间:2024/04/29 21:42
三层到七层的转化其实就是加了两个设计模式,三层是最经典的U层,B层,D层。七层呢,是在U层和B层之间加入外观模式,更好的接触U层和B层的耦合;在B层和D层之间加入了抽象工厂和反射,更方便更换数据库和找到接口,解B层和D层的耦合。
下面是七层的包图。
一、每一层的作用:
U层:显示界面给用户,接收用户输入的信息,显示系统返回给用户的信息。
Facade:负责U层和B层之间的信息传递,一提起外观模式应该会想到设计模式中它代表的一个高层接口。用户只要与这个高层接口打交道就可以达到统一处理子系统的目的。这里引入的外观模式就是为了让B层在不用了解U层的情况下通过这个高层接口(Facade)统一处理U层的信息。
B层:负责访问D层,但是B层并不是直接访问D层的,B层是通过访问Factory然后通过反射间接的访问D层,而且B层作为业务逻辑层处在系统的核心位置,承担着所有的逻辑判断,所以程序的每个功能在B层都对应一个类。
Factory:工厂来创建接口,返回接口。之前三层的时候觉得B层作为桥梁链接U层和B层,现在学到了七层,发现可以进一步解耦和,这便是Factory的功劳。
Interface:接口是一种方法和能力,接口是对行为的抽象,我们之前在对比抽象类的时候经常会提到这两句话,这里的接口层主要是将访问数据库的方法进行抽象,是调用数据访问层方法的接口。
DAL:数据库访问层,D层是负责和数据库直接交互的,也就是我们经常用到的增删改查。
Entity:实体层,存放实体类,实体层是整个架构的血液,负责传递参数,游走在各层之间,方便各层的交流。
二、B层,工厂层,接口层,接口层关系:
这块的关系搞了好久才明白,分享给大家我是怎么理解的,前面是官方解释,后面是我举的例子。
B层:调工厂和接口--- 领导派发一项任务;
工厂层:创建接口对象-- 找到任务的实施方案,利用找到那个提供此方法的接口;
接口层:提供接口方法-- 提供任务实施方案;
D层:实现接口-- 干活,具体执行方案
三、顺带着研究了一下包之间的三种关系:(带箭头的虚线)
访问:access 源包要用到目标包中的元素
导入:import 目标包的内容将被导入到源包中
合并:将目标包中的内容合并到源包中去
上述三种关系都是在目标包中public元素进行的,对private元素无效
access和import区别:
当源包被导入另一个包Z中时,access关系中,Z不可以访问目标包,import可访问目标包。
- 三层转七层总结
- 三层总结
- 三层总结
- 三层总结
- 三层总结
- 三层总结
- 三层总结
- 三层总结
- 三层总结
- 三层总结
- 三层总结
- 三层总结
- 三层总结
- 【三层】总结
- 三层总结
- 三层总结
- 三层总结
- 三层结构的总结
- jeesite快速开发平台(十)---内容管理模块 功能说明
- hdu4994——Revenge of Nim(博弈)
- 关于css中的伪类和伪元素
- WebMagic写的网络爬虫
- bootstrap fileupload 使用详解~~
- 三层转七层总结
- leetcode [Maximum Depth of Binary Tree]
- c++基本的函数调用
- 海量数据处理之Tire树(字典树)
- 欧文写的 phpcms代码执行过程
- 从字符串数组中获取某几个字符
- RobotFramework环境配置七:多浏览器兼容性测试(1)
- java编程思想读书笔记-第二章一切都是对象
- Lighting Models and BRDF Maps