国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

怎么不花錢做網(wǎng)站專業(yè)營銷推廣團(tuán)隊(duì)

怎么不花錢做網(wǎng)站,專業(yè)營銷推廣團(tuán)隊(duì),寧晉企業(yè)做網(wǎng)站,網(wǎng)站建設(shè)公司市場(chǎng)定位設(shè)計(jì)模式原則 設(shè)計(jì)模式示例代碼庫地址: https://gitee.com/Jasonpupil/designPatterns 接口隔離原則 要求程序員盡量將臃腫龐大的接口拆分為更小的和更具體的接口,讓接口中只包含客戶感興趣的方法接口隔離原則的目標(biāo)是降低類或模塊之間的耦合度&…

設(shè)計(jì)模式原則

設(shè)計(jì)模式示例代碼庫地址:

https://gitee.com/Jasonpupil/designPatterns

接口隔離原則

  • 要求程序員盡量將臃腫龐大的接口拆分為更小的和更具體的接口,讓接口中只包含客戶感興趣的方法
  • 接口隔離原則的目標(biāo)是降低類或模塊之間的耦合度,提高代碼的可維護(hù)性、可擴(kuò)展性和可測(cè)試性。
  • 通過使用多個(gè)專門的接口,我們可以避免類或模塊之間出現(xiàn)不必要的依賴關(guān)系,減少對(duì)無用接口的實(shí)現(xiàn)或調(diào)用,從而降低了修改和維護(hù)的成本。

模式場(chǎng)景:學(xué)校管理系統(tǒng),不同角色的功能

  • 接口隔離原則替換前:定義一個(gè)角色接口,包含幾個(gè)功能:成績(jī)查詢、成績(jī)上傳和教師管理,所有角色都實(shí)現(xiàn)了這個(gè)接口,但是不同角色的權(quán)限不同,只能使用對(duì)應(yīng)權(quán)限的功能,比如:學(xué)生只能成績(jī)查詢,而老師就可以成績(jī)查詢和成績(jī)上傳。如果都實(shí)現(xiàn)同一個(gè)接口,還需要進(jìn)行每個(gè)功能進(jìn)行隔離比較麻煩。
  • 接口隔離原則替換后:把角色功能接口根據(jù)每個(gè)功能進(jìn)行拆分,角色類實(shí)現(xiàn)對(duì)應(yīng)權(quán)限的功能接口,這樣就簡(jiǎn)化了角色類里實(shí)現(xiàn)功能隔離。

接口隔離原則替換前示例代碼:功能沒有具體實(shí)現(xiàn),主要看邏輯是怎么樣

角色功能接口:
/*** @Description: 角色接口* @Author: pupil* @Date: 2024/06/26 下午 11:29*/
public interface Role {/*** 成績(jī)查詢* @param userId 學(xué)生id* @return*/String scoreInquiry(long userId);/*** 成績(jī)上傳* @param userId 學(xué)生id* @param grades 成績(jī)*/void gradeUpload(long userId, Map<String,Double> grades);/*** 教師管理* @param teacherId 教師id*/void teacherManagement(long teacherId);}
校長(zhǎng)類:
/*** @Description: 校長(zhǎng),功能沒有具體實(shí)現(xiàn)* @Author: pupil* @Date: 2024/06/26 下午 11:30*/
public class Principal implements Role {private Logger logger = LoggerFactory.getLogger(Principal.class);@Overridepublic String scoreInquiry(long userId) {logger.info("學(xué)生{}:成績(jī)是....",userId);return null;}@Overridepublic void gradeUpload(long userId, Map<String, Double> grades) {// 無法實(shí)現(xiàn)該功能}@Overridepublic void teacherManagement(long teacherId) {logger.info("教師{}: 進(jìn)行管理",teacherId);}
}
教師類:
/*** @Description: 教師* @Author: pupil* @Date: 2024/06/26 下午 11:31*/
public class Teacher implements Role {private Logger logger = LoggerFactory.getLogger(Teacher.class);@Overridepublic String scoreInquiry(long userId) {logger.info("學(xué)生{}:成績(jī)是....",userId);return null;}@Overridepublic void gradeUpload(long userId, Map<String, Double> grades) {logger.info("學(xué)生{}:成績(jī)上傳為{}",userId,grades);}@Overridepublic void teacherManagement(long teacherId) {// 無法實(shí)現(xiàn)該功能}
}
學(xué)生類:
/*** @Description: 學(xué)生* @Author: pupil* @Date: 2024/06/26 下午 11:31*/
public class Student implements Role {private Logger logger = LoggerFactory.getLogger(Student.class);@Overridepublic String scoreInquiry(long userId) {logger.info("學(xué)生{}:成績(jī)是....",userId);return null;}@Overridepublic void gradeUpload(long userId, Map<String, Double> grades) {// 無法實(shí)現(xiàn)該功能}@Overridepublic void teacherManagement(long teacherId) {// 無法實(shí)現(xiàn)該功能}
}

接口隔離原則替換后示例代碼:功能沒有具體實(shí)現(xiàn),主要看邏輯是怎么樣

成績(jī)查詢功能接口:
/*** @Description: 成績(jī)查詢功能接口* @Author: pupil* @Date: 2024/06/26 下午 11:56*/
public interface ScoreInquiry {/*** 成績(jī)查詢* @param userId 學(xué)生id* @return*/String scoreInquiry(long userId);
}
成績(jī)上傳功能接口:
/*** @Description: 成績(jī)上傳功能接口* @Author: pupil* @Date: 2024/06/26 下午 11:56*/
public interface GradeUpload {/*** 成績(jī)上傳* @param userId 學(xué)生id* @param grades 成績(jī)*/void gradeUpload(long userId, Map<String,Double> grades);
}
教師管理功能接口:
/*** @Description: 教師管理功能接口* @Author: pupil* @Date: 2024/06/27 上午 12:01*/
public interface TeacherManagement {/*** 教師管理* @param teacherId 教師id*/void teacherManagement(long teacherId);
}
校長(zhǎng)類:
/*** @Description: 校長(zhǎng),功能沒有具體實(shí)現(xiàn)* @Author: pupil* @Date: 2024/06/26 下午 11:30*/
public class Principal implements ScoreInquiry, TeacherManagement {private Logger logger = LoggerFactory.getLogger(Principal.class);@Overridepublic String scoreInquiry(long userId) {logger.info("學(xué)生{}:成績(jī)是....", userId);return null;}@Overridepublic void teacherManagement(long teacherId) {logger.info("教師{}: 進(jìn)行管理", teacherId);}}
教師類:
/*** @Description: 教師,功能沒有具體實(shí)現(xiàn)* @Author: pupil* @Date: 2024/06/26 下午 11:31*/
public class Teacher implements ScoreInquiry, GradeUpload {private Logger logger = LoggerFactory.getLogger(Teacher.class);@Overridepublic String scoreInquiry(long userId) {logger.info("學(xué)生{}:成績(jī)是....",userId);return null;}@Overridepublic void gradeUpload(long userId, Map<String, Double> grades) {logger.info("學(xué)生{}:成績(jī)上傳為{}",userId,grades);}}
學(xué)生類:
/*** @Description: 學(xué)生,功能沒有具體實(shí)現(xiàn)* @Author: pupil* @Date: 2024/06/26 下午 11:31*/
public class Student implements ScoreInquiry {private Logger logger = LoggerFactory.getLogger(Student.class);@Overridepublic String scoreInquiry(long userId) {logger.info("學(xué)生{}:成績(jī)是....",userId);return null;}
}

根據(jù)接口隔離原則的示例類圖:

在這里插入圖片描述

http://m.aloenet.com.cn/news/36703.html

相關(guān)文章:

  • 杭州亞運(yùn)會(huì)閉幕式安卓手機(jī)優(yōu)化大師官方下載
  • 鼎湖網(wǎng)站建設(shè)啥都能看的瀏覽器
  • 杭州微網(wǎng)站開發(fā)先做后付費(fèi)的代運(yùn)營
  • 中視頻自媒體平臺(tái)注冊(cè)seo中心
  • 廈門外貿(mào)商城網(wǎng)站建設(shè)seo運(yùn)營做什么
  • 網(wǎng)站地圖怎么做XML網(wǎng)站網(wǎng)上推廣
  • 網(wǎng)站開發(fā)建設(shè)方案書嵌入式培訓(xùn)
  • jsp網(wǎng)站開發(fā)教學(xué)上海培訓(xùn)機(jī)構(gòu)有哪些
  • 通遼網(wǎng)站建設(shè)公司百度移動(dòng)點(diǎn)擊排名軟件
  • 做網(wǎng)站的工資高嗎?谷歌商店paypal下載官網(wǎng)
  • 線切割加工東莞網(wǎng)站建設(shè)技術(shù)支持百度業(yè)務(wù)范圍
  • 書簽制作手工搜索引擎優(yōu)化工作
  • 網(wǎng)站怎么做站內(nèi)美化代運(yùn)營公司哪家好一些
  • 凡科網(wǎng)之前做的網(wǎng)站在哪看寧波seo整站優(yōu)化
  • 網(wǎng)站建設(shè)unohacha傳播易廣告投放平臺(tái)
  • 企業(yè)網(wǎng)站建設(shè)設(shè)計(jì)需要什么網(wǎng)站seo公司哪家好
  • 做視頻網(wǎng)站如何賺錢企業(yè)網(wǎng)站設(shè)計(jì)思路
  • 普斯泰網(wǎng)站建設(shè)百度搜索指數(shù)和資訊指數(shù)
  • 網(wǎng)站描述標(biāo)簽怎么寫技術(shù)培訓(xùn)學(xué)校機(jī)構(gòu)
  • 網(wǎng)站建設(shè)要程序員嗎直接下載app
  • 太原視頻剪輯培訓(xùn)機(jī)構(gòu)哪個(gè)好上海關(guān)鍵詞優(yōu)化外包
  • wordpress全站美化東莞網(wǎng)絡(luò)優(yōu)化公司
  • 網(wǎng)站開發(fā)和軟件開發(fā)有什么區(qū)別2022新聞大事件摘抄
  • 網(wǎng)站建設(shè)漠環(huán)熊掌號(hào)濟(jì)源網(wǎng)絡(luò)推廣
  • 研究生院 網(wǎng)站 建設(shè)新的營銷模式有哪些
  • 廣告行業(yè)網(wǎng)站建設(shè)方案網(wǎng)站優(yōu)化塔山雙喜
  • 網(wǎng)站正在建設(shè)中頁面深圳營銷推廣公司
  • 不需要付費(fèi)的網(wǎng)站贛州seo顧問
  • 建設(shè)網(wǎng)站平臺(tái)的章程網(wǎng)頁設(shè)計(jì)與制作個(gè)人網(wǎng)站模板
  • 網(wǎng)站滾動(dòng)效果怎么做對(duì)網(wǎng)絡(luò)營銷的認(rèn)識(shí)800字