栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

javabean&三层架构

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

javabean&三层架构

目录

1.javabean

2.三层架构

2.1.三层架构的含义

2.2.为什么需要分层?

2.3.分层模式

  2.3.1.分层模式的概念:

2.4.三层模式的划分

2.4.1.层与层之间的关系:

2.5.三层开发遵循的原则

2.6.分层案例解析:分层实现用户登录

 2.6.1.编写数据访问层

 2.6.2.编写业务逻辑层

3.高内聚低耦合

3.1.高内聚和低耦合的概念

3.2.为什么要追求高内聚和低耦合?


1.javabean

        JavaBean(豌豆)是一种Java语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBean通过提供符合一致性设计模式的公共方法将内部域暴露成员属性。众所周知,属性名符合这种模式,其他Java类可以通过自身机制发现和操作这些JavaBean属性。

        换句话说,javabean就是一个Java的类,只不过这个类你要按上面提到的一些规则来写,比如必须是公共的,无参构造函数等,使开发效率提高。

2.三层架构

2.1.三层架构的含义

        对代码进行分层处理。

2.2.为什么需要分层?

        java开发的弊端: 业务处理代码与JSP代码混在一起,不易于阅读,不易于代码维护。

案例:

                              … <%     String uname=request.getParameter("user");     String upwd=request.getParameter("pwd");     String driverClassName ="oracle.jdbc.driver.OracleDriver";     String url ="jdbc:oracle:thin:@10.0.0.34:1521:PRD34"; …

2.3.分层模式

        2.3.1.分层模式的概念:

                分层模式是最常见的一种架构模式;

                分层模式是很多架构模式的基础。

2.4.三层模式的划分

       1. 表示层:jsp(展示给用户看)。

       2. 业务逻辑层:biz包。

       3. 数据库访问层:dao包(连接数据库,对数据库进行增删改查)。

                                                                2.4.图

图解:表示层调用业务逻辑层,业务逻辑层调用数据访问层。

           实体类贯穿整个三层架构。

2.4.1.层与层之间的关系:

                                                                    2.4.1.图

图解:表示层依赖与业务逻辑层,业务逻辑层依赖与数据访问层。

2.5.三层开发遵循的原则

上层依赖其下层,依赖关系不跨层;

表示层不能直接访问数据层; 上层调用下层的结果,取决于下层的实现。下一层不能调用上一层。下一层不依赖上一层。

上层的改变不会影响下一层; 下层的改变会影响上一层得到的结果。 在上一层中不能出现下一层的概念;

分工明确,各司其职。

2.6.分层案例解析:分层实现用户登录

 2.6.1.编写数据访问层

数据访问接口

public interface IUserDao {
    
    int login(User user) throws SQLException;
    
}

数据访问接口的实现

public class UserDao implements IUserDao{
    private Connection con;//连接对象
    private PreparedStatement ps;//执行对象
    private ResultSet rs;//结果集对象
    private int n;//保存受影响的行数
    private String sql;//保存sql语句
    private User user;//保存用户对象
    private List listUser = new ArrayList();//集合
    private boolean flag;
    private int upower;//权限
    
    @Override
    public int login(User user) throws SQLException{
        con = DBhelper.getCon();//连接对象
        sql = "select upower from tb_user where uname = ? and upwd = ?";
        ps = con.prepareStatement(sql);
        ps.setString(1, user.getUname());
        ps.setString(2, user.getUpwd());
        rs = ps.executeQuery();
        if(rs.next()) {
            upower = rs.getInt(1);//访问第一个值
        }
        DBhelper.closeObj(con, ps, rs);
        return upower;
    }

 
}

 2.6.2.编写业务逻辑层

业务逻辑接口

public interface IUserBiz {
    
    int login(User user) throws SQLException;
    
}

业务逻辑层接口实现

public class UserBiz implements IUserBiz{
    //在业务逻辑层biz里面调用数据访问层dao
    IUserDao iud = new UserDao();
    
    @Override
    public int login(User user) throws SQLException {
        return iud.login(user);
    }
    
}

3.高内聚低耦合

3.1.高内聚和低耦合的概念

        内聚:高内聚就是一个模块内各个元素彼此结合的紧密程度高。

        耦合:一个软件结构内不同模块之间互连程度的度量(耦合性也叫块间联系,指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差,模块间耦合的高低取决于模块间接口的复杂性,调用的方式以及传递的信息)。

3.2.为什么要追求高内聚和低耦合?

        软件架构设计的目的简单说就是在保持软件内在联系的前提下,分解软件系统,降低软件系统开发的复杂性,而分解软件系统的基本方法无外乎分层和分割。

转载请注明:文章转载自 www.mshxw.com
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号

用户名称: