第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

當(dāng)您想將一些通用功能應(yīng)用于某些特定方法時使用的設(shè)計模式?

當(dāng)您想將一些通用功能應(yīng)用于某些特定方法時使用的設(shè)計模式?

慕碼人2483693 2023-02-16 16:01:35
我正在嘗試找出一種設(shè)計模式(如果存在的話)用于我將在一堆類中重新執(zhí)行某些功能的情況。以下是我面臨的問題的(簡化)概述:我有一些 Java 代碼來創(chuàng)建、更新、刪除Student對象、Professor對象和Staff對象。每次創(chuàng)建、刪除或更新此類對象時,我都想提取有關(guān)受影響對象的一些信息(例如姓名、年齡、ID)并通知外部服務(wù)。所以像:class StudentDAO {   public Student createStudent(Student studentToCreate) {       jdbcTemplate.update(INSERT_SQL, .....);       //===> extract some info of the student       //let external service know a student was created....   }   public Student deleteStudent(Student studentToDelete) {       jdbcTemplate.update(DELETE_SQL, .....);       //===> extract some info of the student       //let external service know a student was deleted....   }   //same thing for update}class ProfessortDAO {   public Professor createProfessor(Professor professorToCreate) {       jdbcTemplate.update(INSERT_SQL, .....);       //===> extract some info of the professor       //let external service know a Professor was created....   }   public Student deleteProfessor(Professor professorToDelete) {       jdbcTemplate.update(DELETE_SQL, .....);       //===> extract some info of the professor       //let external service know a professor was deleted....   }   //same thing for update}//repeat for Staff該示例有點做作,但假設(shè)Student, Professor,Staff沒有共同的超類型。有沒有一種方法可以實現(xiàn)此功能,而無需復(fù)制和粘貼用于提取信息的邏輯并將其發(fā)送到所有 DAO 類的 CREATE、DELETE、UPDATE 方法中?
查看完整描述

3 回答

?
慕勒3428872

TA貢獻(xiàn)1848條經(jīng)驗 獲得超6個贊

您應(yīng)該搜索通用存儲庫。您可以在這里了解更多信息:


https://www.youtube.com/results?search_query=generic+repository+java


示例代碼:


class Reposiory<T> {

   public T create(T Create) {

       jdbcTemplate.update(INSERT_SQL, .....);

   }

   public T delete(T Delete) {

       jdbcTemplate.update(DELETE_SQL, .....);

   }


}


查看完整回答
反對 回復(fù) 2023-02-16
?
搖曳的薔薇

TA貢獻(xiàn)1793條經(jīng)驗 獲得超6個贊

沒有太多信息可以繼續(xù),但您是否考慮過使用generics特定類型并實施 an來定義您希望從每種類型的個人訪問的interface公共信息?(phone, name, id)

您還應(yīng)該能夠?qū)⒉僮?code>(DELETE, ADD, UPDATE)作為參數(shù)傳遞。我建議enum為此使用 an 。


查看完整回答
反對 回復(fù) 2023-02-16
?
胡說叔叔

TA貢獻(xiàn)1804條經(jīng)驗 獲得超8個贊

創(chuàng)建 ReportExternalService 接口并添加關(guān)鍵屬性,如果對象需要通知,則實現(xiàn)此接口。

創(chuàng)建一個以 ReportExternalService 為參數(shù)的方法,并使用 key 向外部服務(wù)報告。!


查看完整回答
反對 回復(fù) 2023-02-16
  • 3 回答
  • 0 關(guān)注
  • 125 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號