三层架构:
1.显示层:JSP HTML,css ,JS,do处理页面
2.业务逻辑层
services|biz 从数据访问层拿到数据后进行相关判断逻辑处理。
简单业务逻辑层:直接从数据访问层拿到数据进行操作即可。
复杂业务逻辑层:
从数据访问层拿到数据后,做筛选
比如:删除 从数据访问层拿到对应的数据进行判断,看删除的数据是否在表中存在
如果存在,再调用删除的方法删除即可。
oracle事务处理。 (当实现一个功能时,需要满足2个条件以上,事务处理的机制:要么一起成功,要么一起失败)
银行转账
3.数据访问层
dao(接口+实现类),utils
从DB中获取数据 增删改查
4.通过实体将三个层进行联系起来。
实体不属于三层
软件分层模式
1.为什么需要分层
业务处理的代码与JSP代码混在一起,不易于阅读,不易于代码维护,采用三层软件设计架构后,软件系统在可扩展性和可复用性方面得到极大提高,
2.软件设计中的分层模式
分层模式是最常见的一种架构模式;甚至可以说分层模式是很多架构模式的基础。
3.分层
①分层模式是将解决方案的组件分隔不同的层中(分工合作,细化)
②每一层的组件应保持内聚性(部门之间常联系)
③每一层都应与其下面的各层保持松耦合
4.三层架构:表示层、业务逻辑层、数据访问层
①表示层:位于最外层 ( 最上层 ),使用户能够直接访问,用于显示数据和接收用户输入的数据,为用户提供一种交互式操作界面。在 Web 应用程 序中,表示层一般以 JSP 文件、HTML文件为主;
②业务逻辑层:其主要功能是提供对业务逻辑处理的封装,在业务逻辑层中,通常会定义些接口,表示层通过调用业务逻辑层的接口实现各种操作, 如数据有效性的检验. 业务辑描述等相关功能,业务逻辑层经常放在 service 包或 biz 包下,btz 是英文 buslness 的缩写,意思是 '业务逻 辑";
③数据访问层:该层实现对数据的保存和读取操作。数据访问,可以访问关系数椐库、文件或 XML 文档等。数据访问层通常放在 dao 包下,DAO 是 英文 Data Access Object 的缩写,意思是 "数据访问对象 ";
【面向接口编程】
5.分层的实现
S1阶段:实体包,工具包,dao包,ui包;
S2阶段:数据访问层(DAO)、业务逻辑层(BIZ|SERVICES)、表示层(jsp)、实体包。
1. 表示层 jsp+html;
2. 业务逻辑层 biz/service;
3. 数据库访问层 dao(访问数据库、文本文件、XML文件)。
Entity实体类不属于某层,三层都可以调用,主要用于封装数据。
JSP:收集、展示数据;
JSP/servlet:处理数据,访问service;
Service:业务逻辑;
Dao:基本操作,不带业务逻辑(增删改查);
Database:数据库。
高内聚 低耦合
高内聚:功能内部的代码非常严谨
低耦合:功能与功能之间依赖性很小,一个功能出问题不会影响其它功能的运行,俗称:模块化。