學好java設計模式,程式設計不迷茫--java學習筆記
從學習編寫程式到編寫專案我們發現了一個問題,在沒有按照設計模式的編寫程式的情況下,總感到非常迷茫,沒有頭緒,這個程式應該有哪些功能,不得而知,所做出來的小專案,亂成一鍋粥。
所以我們必須理解學習設計模式
首先我們要知道8條設計原則:
1.面向介面程式設計
2.優先使用物件組合而非類繼承
3.分層:
1.使用者UI層:UI
2.邏輯層:business
3.資料層:dao
4.層間互動的基本原則
5.開閉原則
6.依賴性倒置原則
7.介面隔離
8.替換原則
一般一個功能模組我們將它分為
Dao:資料層
dao:dao資料層介面,四種抽象方法(增、刪、改、查)
factory:dao資料層工廠,用於返回dao資料層實現類,建構函式設為private
impl:實現類,對外不可見,用於實現dao資料曾介面中的所有功能
business:邏輯層
ebi:邏輯層介面,將UI層收集的資料(值物件)傳遞給dao實現類方法的抽象方法
ebo:邏輯層實現類,實現ebi中方法
facto:邏輯層工廠,用於返回邏輯層ebo類物件給ui層
vo:值物件
UI:使用者互動介面
各層通過介面和工廠的互動來進行功能的實現
設計步驟
第一步設計vo
第二部設計dao
第三部設計business
第四部設計ui
每層的設計步驟
第一步設計介面
第二部實現實現類
第三部完成工廠的封裝功能
例如模擬實現使用者姓名年齡儲存的模組功能邏輯層程式碼:
ebi:
package cn.hncu.example2.UserMessage.bussiness.ebi;
import cn.hncu.example2.UserMessage.vo.UserVo;
public interface UserEbi {
public boolean creat(UserVo user);
}
ebo:
package cn.hncu.example2.UserMessage.bussiness.ebo;
import java.util.UUID;
import cn.hncu.example2.UserMessage.bussiness.ebi.UserEbi;
import cn.hncu.example2.UserMessage.dao.dao.UserDao;
import cn.hncu.example2.UserMessage.dao.factory.UserDaoFactory;
import cn.hncu.example2.UserMessage.vo.UserVo;
public class UserEbo implements UserEbi {
@Override
public boolean creat(UserVo user) {
String uuid = UUID.randomUUID().toString();
user.setUuid(uuid);
UserDao userd = UserDaoFactory.getUserDao();
return userd.creat(user);
}
}
factory:
package cn.hncu.example2.UserMessage.bussiness.factory;
import cn.hncu.example2.UserMessage.bussiness.ebi.UserEbi;
import cn.hncu.example2.UserMessage.bussiness.ebo.UserEbo;
import cn.hncu.example2.UserMessage.vo.UserVo;
public class UserBusifactory {
private UserBusifactory() {
}
public static UserEbi getUserEbi() {
return new UserEbo();
}
}
初步學習了設計模式從此對java的專案設計有了一定了解
用小本本記下來,避免以後忘記