三层架构

  • 普遍构架
  1.  三层(經典)
  2. MVC
  3. MVVM
  4. MVP
 
  • 开发设计中普遍的23种策略模式:
建立型方式,共五种:工厂方法方式、抽象性工厂模式、单例模式、建造者模式、原型模式。
结构性方式,共七种:适配器模式、装饰器模式、分销模式、外观模式、桥接模式、组合模式、享元模式。
个人行为型方式,共十一种:策略模式、模版方式方式、观察者模式、迭代更新子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介公司者方式、编译器方式。
  • 策略模式的六大原则
1、启闭原则
2、地震震级代用原则
3、依靠反转原则
4、接口隔离原则
5、迪米特法则(至少了解原则)
6、生成多路复用原则
 
  • 程序流程与程序流程交互技术
1.引入类名
2.文档(IO,servile),文件流,实例化
3.DB数据库查询
4.web要求(Ajax)(Socket)(HTTPRequest 递交方法:get,post)
 

 
连接1(百科):
https://baike.baidu.com/item/三层架构/11031448?fr=aladdin
联接2(必读):http://blog.csdn.net/hanxuemin12345/article/details/8544957/
高内聚低耦合:
https://baike.baidu.com/item/高内聚低耦合
 

 
1.定义:
三层架构(3-tier architecture) 一般实际意义上的三层架构便是将全部业务流程运用区划为:
  • 页面层UI(User Interface layer)
  • 业务逻辑层BLL(Business Logic Layer)
  • 数据信息浏览层DAL(Data access layer)
区别层级的目地即为了更好地“高内聚低耦合”
一切一层产生变化都不容易危害到此外一层!!!
 
1:数据信息浏览层:主要是对非原始记录的实际操作层,是对数据库查询的实际操作,实际为业务逻辑层或表示层给出的数据服务项目
2:业务逻辑层:主要是对于实际的难题的实际操作,对数据信息业务逻辑解决
3:页面层:展现层,互动页面,关键表明WEB方法,还可以表明成winform方法。
 
 
2.高内聚低耦合:
定义
  耦合度:也称块间联络。指系统软件构造中各模块间互相联络密不可分水平的一种衡量。模块中间联络越密不可分,其耦合度就越强,模块的自觉性则越差。模块间藕合高矮在于模块间接口的多元性、启用的方法及传送的信息内容
  内聚性:又被称为块内联络。指模块的作用抗压强度的衡量,即一个模块內部每个原素相互融合的密不可分水平的衡量。若一个模块内各原素(语名中间、汇编程序中间)联络的越密不可分,则它的内聚性就越高。
  藕合:一个软件架构内不一样模块中间互联水平的衡量。
  低耦合,浅显的理解是:一个详细的系统软件,模块与模块中间,尽量的使其单独存有。
  高内聚就是指一个软件模块是由关联性较强的编码构成,只承担一项每日任务,也就是常说的单一义务原则。
 
3.优点和缺点:
优势
1、开发者能够只关心全部构造中的在其中某一层;
2、能够非常容易的用新的完成来更换原来层级的完成;
3、能够减少层与层中间的依靠;
4、有益于规范化;
5、有利于各层逻辑性的多路复用。
6、构造更为的确立
7、减少维护保养成本费和维护保养時间
缺陷
1、减少了系统软件的特性。它是显而易见的。如果不选用层次式构造,许多 业务流程能够立即拜访数据库查询,为此获得相对的数据信息,现如今却务必根据内层来进行。
2、有时候会造成 联级的改动。这类改动特别是在反映在由上而下的方位。假如在表示层中必须提升一个作用,为确保其设计方案合乎层次式构造,很有可能必须在相对的业务逻辑层和数据信息浏览层上都提升相对的编码。
3、提升了项目成本。
 
4.实体线层(Entity):(看联接2)
 
Entity(实体线层):它不属于三层中的一切一层,可是它是不可或缺的一层
dao层库(Model),关键储放数据库查询中的表字段。
 
4,每一层(UI―>BLL―>DAL)中间的数据信息传送(单边)是靠自变量或实体线做为主要参数来传送的,那样就结构了三层中间的联络,完成了作用的完成。
可是针对很多的数据信息而言,用自变量做主要参数一些繁杂,由于参总数过多,非常容易弄混。例如:我想把职工信息的传递到下一层,信息内容包含:职工号、名字、年纪、性別、薪水....用自变量做主要参数得话,那麼大家的方式中的主要参数便会许多 ,极有可能在应用时,将主要参数搭配弄混。此刻,假如用实体线做主要参数,便会很便捷,无需考虑到主要参数搭配的难题,采用实体线中哪一个特性用来立即用就可以,很便捷。那样做也提升 了高效率。
 
(注:这儿为什么说能够临时了解为每一个数据分析表相匹配一个实体线??答:大家都了解,大家重装系统的目地,是为客户出示服务项目,客户并不关注你的系统软件后台管理是怎么工作中的,客户只关注手机软件是否功能强大,页面是否合乎自身情意。客户在页面上轻轻松松的增、删、改、查,那麼数据库查询中也要有相对的增、删、改、查,而增删具体步骤目标便是数据库查询中的数据信息,简言之便是表格中的字段名。因此 ,将每一个数据分析表做为一个dao层,dao层封裝的特性相匹配到表中的字段名,那样的话,实体线在围绕于三层中间时,就可以完成增删数据信息了)
总的来说:三层及实体线层中间的相互依赖:
 
5.编码:
三层架构简单代码: http://blog.csdn.net/zhgl7688/article/details/43669463#comments