Java提升——代码重用性

在实际开发中,代码的重用性一直都是关注的重点。如何才能提高代码的重用性是很多人在思考的问题。

在学习提升代码重用性的时候,发现的一些技巧,写下来以便以后回顾。

在Java Web中,通常采用MVC模式进行开发。在实际开发中,使用MVC5层架构进行细分,即视图层,控制层,业务层,持久层,实体层。

拿持久层来当例子吧。

持久层主要的职责就是负责对数据库的各种操作,讲白了就是增删改查。

一般情况下,一个实体类对应一个Dao。

在这个Dao上编写基本的增删改查方法。就像这样

package cn.wzj.dao;

import java.util.List;

import cn.wzj.po.Person;

public interface PersonDao {
	
	public void insert(Person person) throws Exception;
	
	public void delete(int id) throws Exception;
	
	public void update(Person person) throws Exception;
	
	public Person selectById(int id) throws Exception;
	
	public List<Person> selectByAll() throws Exception;

}

接着就去写其他实体类对应的Dao,然后写他个几十个。

这样写的话代码的重用性就比较差。像这段代码里的这几个方法可以说在所有Dao类中几乎都有,那为何不把它抽取出来封装到一个类里面去呢?

package cn.wzj.dao;

import java.util.List;


/**
 * Dao基础接口
 * 
 * 把那些所有Dao类都通用的方法给抽取出来,涉及到实体类的地方,我们用泛型给它替换掉
 * 这样就实现了简单的封装
 * @author apple
 */

public interface BaseDao<T> {

        public void insert(T po) throws Exception;
	
	public void delete(int id) throws Exception;
	
	public void update(T po) throws Exception;
	
	public T selectById(int id) throws Exception;
	
	public List<T> selectByAll() throws Exception;
}

使用泛型就简单的对Dao类中通用的方法封装在一起。然后Person类对应的Dao就简单多了。

package cn.wzj.dao;

import cn.wzj.po.Person;

public interface PersonDao extends BaseDao<Person>{}

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值