javabean&三层架构

目录

1.javabean

2,三层结构

3.高内聚,低耦合

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

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


1.javabean

  1. JavaBean(豌豆)是一种Java语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBean通过提供符合一致性设计模式的公共方法将内部域暴露成员属性。众所周知,属性名符合这种模式,其他Java类可以通过自身机制发现和操作这些JavaBean属性。
  2. 换句话说,javabean就是一个Java的类,只不过这个类你要按上面提到的一些规则来写,比如必须是公共的,无参构造函数等,使开发效率提高。

2,三层结构

  1.  为什么需要分层: 业务处理的代码与JSP代码混在一起,不易阅读,不易于代码维

     2. 分层模式

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

    3.分层

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

4.三层模式的划分

  • 表示层
  • 业务逻辑层
  • 数据库访问层
javabean&三层架构_第1张图片

4.分层在eclipse类的目录结构

javabean&三层架构_第2张图片

5,表示层依赖于业务逻辑层业务逻辑层依赖于数据访问层

javabean&三层架构_第3张图片

6,分层实现用户登录,创建用户实体类

public class User {
    	private int id;
    	private String uname;
   	public int getId() {
         	return id;
    	}
    	public void setId(int id) {
        		this.id = id;
    	}
    	…省略了后续的set/get方法
}
7,编写数据访问层
1,数据访问接口
public interface UserDao {
        //登录
    	int login(User user);
}
2,数据访问接口的实现
public class NewsDao implements INewsDao{
	private Connection con;
	private PreparedStatement ps;
	private ResultSet rs;
	private String sql;
	private boolean flag;
	private News news;
	private List listNews; 
	private int n;
	private int maxPage;//最大页码/总页码
	@Override
	public List query() {
		try {
			listNews = new ArrayList<>();
			con = DBhelper.getCon();
			sql = "select nid,sid,title,author,summary,filename,content,addtime from news";
			ps = con.prepareStatement(sql);
			rs = ps.executeQuery();
			while (rs.next()) {
				news = new News(rs.getInt("nid"), rs.getInt("sid"),rs.getString("title") ,rs.getString("author") ,rs.getString("summary"), rs.getString("content"),rs.getString("addtime"));
				listNews.add(news);
			}
			DBhelper.closeObj(con, ps, rs);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return listNews;
	}

8,编写业务逻辑层
1,编写业务逻辑层接口
public interface IUserBiz {
	/**
	 * 登录方法
	 * @param user
	 * @return 
	 */
	int login(User user);
}
2,编写业务逻辑层接口实现
public class UserBiz implements IUserBiz{
	//在业务逻辑层biz里面调用数据层dao
	IUserDao iud=new UserDao();//里氏替换原则 

	@Override
	public int login(User user) {
		return iud.login(user);
	}
}

3.高内聚,低耦合


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

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

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

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

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

你可能感兴趣的:(架构,java,linq)