這樣一個領域模型設計究竟好不好?
這是一個"貸款處理應用"中的Borrower模型,一個DDD的應用(來自LoanAppDomainDrivenDesign)。
我有一個疑問,如此設計好不好,將一個repository放入domain object中,是否好呢?這樣一來,Borrower自己可以對自己進行更新,查詢等等...
@Entity public class Borrower { @Id @GeneratedValue(strategy = GenerationType.AUTO) private long borrowerId; private String borrowerType; private String firstName; private String lastName; private String phoneNumber; private String emailAddress; private long loanId; @Autowired @Transient private BorrowerRepository borrowerRepository; public void setBorrowerRepository(BorrowerRepository borrowerRepository) { this.borrowerRepository = borrowerRepository; } /** * @return the borrowerId */ public long getBorrowerId() { return borrowerId; } /** * @param borrowerId the borrowerId to set */ public void setBorrowerId(long borrowerId) { this.borrowerId = borrowerId; } public String getFirstName() { return this.firstName; } public void setFirstName(String firstName) { this.firstName = firstName; } public String getLastName() { return this.lastName; } public void setLastName(String lastName) { this.lastName = lastName; } public String getBorrowerType() { return this.borrowerType; } public void setBorrowerType(String borrowerType) { this.borrowerType = borrowerType; } /** * @return the emailAddress */ public String getEmailAddress() { return this.emailAddress; } /** * @param emailAddress the emailAddress to set */ public void setEmailAddress(String emailAddress) { this.emailAddress = emailAddress; } /** * @return the phoneNumber */ public String getPhoneNumber() { return this.phoneNumber; } /** * @param phoneNumber the phoneNumber to set */ public void setPhoneNumber(String phoneNumber) { this.phoneNumber = phoneNumber; } /** * @return the loanId */ public long getLoanId() { return this.loanId; } /** * @param loanId the loanId to set */ public void setLoanId(long loanId) { this.loanId = loanId; } // CRUD Methods public void add(Borrower borrower) { try { borrowerRepository.add(borrower); } catch (RepositoryException re) { re.printStackTrace(); } } public void delete(long borrowerId) { try { borrowerRepository.delete(borrowerId); } catch (RepositoryException re) { re.printStackTrace(); } } public void update(Borrower borrower) { try { borrowerRepository.update(borrower); } catch (RepositoryException re) { re.printStackTrace(); } } public Borrower load(long borrowerId) { Borrower newBorrower = null; try { newBorrower = borrowerRepository.load(borrowerId); } catch (RepositoryException re) { re.printStackTrace(); } return newBorrower; } } <p class="indent"> |
我有一個疑問,如此設計好不好,將一個repository放入domain object中,是否好呢?這樣一來,Borrower自己可以對自己進行更新,查詢等等...
相關文章
- 聊一聊對領域驅動設計中“領域”這個詞語的理解與分析方法
- 領域驅動設計中的模型模型
- 領域模型驅動設計(DDD)之模型提煉模型
- 請教banq大哥,領域模型的設計模型
- 戲說領域驅動設計(廿七)——Saga設計模型模型
- 領域驅動設計與模型驅動設計的關係模型
- 領域模型的雙時態設計Bi-temporal模型
- Apworks框架實戰(五):EasyMemo的領域模型設計框架模型
- DDD領域驅動設計:領域事件事件
- 智慧領域物件設計物件
- 領域驅動設計戰術模式--領域事件模式事件
- 戲說領域驅動設計(廿五)——領域事件事件
- 領域驅動設計(DDD)中模型的重要性 - Jeronimo模型
- 3NF淺談BI領域的資料模型設計模型
- 說說領域驅動設計和貧血、失血、充血模型模型
- 淺談領域模型模型
- 趣圖:程式設計師值得貼一個這樣的程式設計師
- 15大領域、127個任務,這裡有最全的機器學習SOTA模型機器學習模型
- 領域驅動設計戰術模式--領域服務模式
- 領域驅動設計(DDD)實踐之路(一)
- 領域驅動設計實踐——驗證(一)
- 理解領域驅動設計
- MasaFramework -- 領域驅動設計Framework
- 領域驅動設計示例
- 程式設計師十誡:第六誡:應專注一個領域程式設計師
- 做個程式設計師到底好不好程式設計師
- CloudNotes之領域建模篇:領域模型簡介Cloud模型
- 運用領域模型——DDD模型
- 領域驅動設計簡介
- 實現領域驅動設計
- 領域驅動設計核心概念
- 領域驅動模型DDD(一)——服務拆分策略模型
- 聊一聊領域驅動與貧血模型模型
- 在複雜領域中設計軟體:領域驅動設計 - levelup
- Clean清潔領域模型的幾個特點 -Kamil Grzybek模型
- 請教:域驅動設計和模型驅動設計是什麼樣的關係模型
- 在DDD中建立領域模型模型
- 計算機程式設計領域最偉大的20個發明計算機程式設計