web三层架构

哈喽,大家好,今天我们一起来学习一下“三层架构”吧

一,什么是三层架构

  1. 表示层 :主要是指与用户交互的界面,用于接收用户输入的数据和显示处理后用户需要的数据
  2. 业务逻辑层 :表示层和数据库访问层之间的桥梁,实现业务逻辑,具体包含:验证、计算、业务规则等等
  3. 数据访问层 :与数据库打交道,主要实现对数据的增、删、改、查
    三层架构
    除了以上的三层外,还有一层是 entity层 :实体层
    实体层

二,三层架构的特点

表示层就相当于服务员,专门和用户打交道,获取用户的操作
业务逻辑层就相当于厨师,从数据访问层拿来数据,根据表示层传来的用户操作去执行操作
数据访问层就相当于采购员,用户需要什么数据,就从数据库或是文件中拿来此数据,交给业务逻辑

三,为什么要用三层架构

用三层架构的目的就是为了实现 高内聚低耦合 的思想:
高内聚 :尽可能类的每个成员方法只完成一件事
低耦合 :减少类内部,一个成员方法调用另一个成员方法
从类角度来看, 高内聚低耦合:减少类内部,对其他类的调用
从功能块来看, 高内聚低耦合:减少模块之间的交互复杂度
简单来说,就是 解耦 :只做自己功能内的事

分层模式是最常见的一种架构模式
分层模式是很多架构模式的基础

分层
将解决方案的组件分隔到不同的层中 在同一个层中组件之间保持内聚性 层与层之间保持松耦合

面向接口编程:
设计与实现分开
在一个面向对象的系统中,系统的各种功能是由许许多多的不同对象协作完成的。在这种情况下,各个
对象内部是如何实现自己的,对系统设计人员来讲就不那么重要了;而各个对象之间的协作关系则成为系
统设计的关键。小到不同类之间的通信,大到各模块之间的交互,在系统设计之初都是要着重考虑的,
这也是系统设计的主要工作内容。面向接口编程就是指按照这种思想来编程。

四,实现的方式

实现
实现
完成的目录结构(样式):

目录

五,使用分层实现用户登录功能

数据是小编写死的,需要自己改
分析:
分析

  1. 创建用户实体类
public class User {
    	private int id;
    	private String username;
    	private String password;
   	public int getId() {
         	return id;
    	}
    	public void setId(int id) {
        		this.id = id;
    	}
    	…省略了后续的set/get方法
}
  1. 编写数据访问层
    数据接口:
public interface UserDao {
    	//根据用户进行查找,返回用户列表
    	public boolean findUser(User user);
}

数据访问接口的实现

public class UserDaoJdbcImpl implements UserDao{
public boolean findUser(User user){
    	Connection con = null;
    	PreparedStatement pStatement = null;
    	ResultSet res = null;
    	/** 调用创建数据库连接的方法 获得连接,实现用户名和密码查询*/
}
  1. 编写业务逻辑层
    编写业务逻辑层接口
//编写业务逻辑控制接口UserBiz
public interface UserBiz {
     	public boolean login(User user);
}

编写业务逻辑层接口实现

public class UserBizImpl implements UserBiz{
    	public List login(User user){
        		UserDao ud = new UserDaoJdbcImpl();
        		boolean flag = ud.findUser(user);
        		return flag;
    	}
}
  1. 编写表示层
<%@page import="org.jbit.bean.*" %>
<%@page import="org.jbit.biz.*" %>
<%@page import="org.jbit.biz.impl.*" %>
<%
    String uname=request.getParameter("user");
    String upwd=request.getParameter("pwd");
    User user = new User();
    user.setUsername(uname);
    user.setPassword(upwd);
    UserBiz ub = new UserBizImpl();
    boolean flag = ub.login(user);
    if(flag)
        response.sendRedirect("welcome.jsp");	
    else
        response.sendRedirect("login.jsp");
%>

到这里就结束了,希望你能对你有用,记得给小编个赞!!!

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>