Java提升——程式碼重用性
阿新 • • 發佈:2018-12-18
在實際開發中,程式碼的重用性一直都是關注的重點。如何才能提高程式碼的重用性是很多人在思考的問題。
在學習提升程式碼重用性的時候,發現的一些技巧,寫下來以便以後回顧。
在Java Web中,通常採用MVC模式進行開發。在實際開發中,使用MVC5層架構進行細分,即檢視層,控制層,業務層,持久層,實體層。
使用的是SSM框架。
1、持久層
持久層主要的職責就是負責對資料庫的各種操作,講白了就是增刪改查。
一般情況下,一個實體類對應一個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>{}