2015-03-03 51 views
-1

我最近在一個JAVA EE項目中工作,在那裏我必須檢查並理解存在的代碼。 項目體系結構爲Core,DAO,Manager,Web ... 在Core中,我們應該編寫POJO類,它將在以後繼續存在! 我不明白,爲什麼開發人員首先使用接口來定義User,在那裏他只展示了其他模塊使用的一些基本方法(Web ...),然後他定義了接口實現以在core模塊中使用它。 這是一個衆所周知的設計模式?如果是這是什麼名字? thx瞭解一個JAVA代碼體系結構,設計

+0

如果我得到它的權利,這裏就是答案http://stackoverflow.com/questions/383947 /什麼是它意味着程序到界面 – 2015-03-03 09:27:16

+1

也許你正在看的是[控制反轉](http://stackoverflow.com/questions/3058/what-is-inversion -of-control) – 2015-03-03 09:29:49

+0

另請參閱關注分離問題(SoC)http://en.wikipedia.org/wiki/Separation_of_concerns - 使用IoC/DI檢查開源項目Spring。 – krslynx 2015-03-03 09:56:35

回答

0

這是一個衆所周知的名爲Bridge的設計模式,當我們想要減少兩個不同層之間的耦合時,我們使用它。

假設我們有一個使用DAO方法來保存數據的業務類。業務類只有一個Dao接口類型的實例,所以我們可以自由地實現我們想要的Dao類,而無需更改業務類。

PS:POJO類不應該實現預先指定的接口!在這種情況下使用接口是不合適的,但正如我所說,你可以使用這種模式來解決緊密耦合的問題