Guice指南-入門認識
Java企業應用開發社群在連線物件方面花了很大功夫。你的Web應用如何訪問中間層服務?你的服務如何連線到登入使用者和事務管理器?關於這個問題你會發現很多通用的和特定的解決方案。有一些方案依賴於模式,另一些則使用框架。所有這些方案都會不同程度地引入一些難於測試或者程式化程式碼重複的問題。你馬上就會看到,Guice 在這方面是全世界做得最好的:非常容易進行單元測試,最大程度的靈活性和可維護性,以及最少的程式碼重複。
我們使用一個假想的、簡單的例子來展示 Guice 優於其他一些你可能已經熟悉的經典方法的地方。下面的例子過於簡單,儘管它展示了許多顯而易見的優點,但其實它還遠沒有發揮出 Guice 的全部潛能。我們希望,隨著你的應用開發的深入,Guice 的優越性也會更多地展現出來。
在這個例子中,一個客戶物件依賴於一個服務介面。該服務介面可以提供任何服務,我們把它稱為Service。
public interface Service {
void go();
}
對於這個服務介面,我們有一個預設的實現,但客戶物件不應該直接依賴於這個預設實現。如果我們將來打算使用一個不同的服務實現,我們不希望回過頭來修改所有的客戶程式碼。
public class ServiceImpl implements Service {
public void go() {
...
}
}
我們還有一個可用於單元測試的偽服務物件。
public class MockService implements Service {
private boolean gone = false;
public void go() {
gone = true;
}
public boolean isGone() {
return gone;
}
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/13270562/viewspace-214950/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 初次認識GuiceGUI
- 例項認識GuiceGUI
- Kubernetes認證入門指南
- Azure AD(一)入門認識
- OpenStack入門之初步認識
- Guice指南-用Guice實現依賴注入GUI依賴注入
- XML入門指南(6)XML確認(轉)XML
- Guice指南-與 JNDI 整合GUI
- 談談Markdown的認識與入門
- webpack 快速入門 系列 —— 初步認識 webpackWeb
- SpringBoot-認識及入門Spring Boot
- linux入門——基本目錄認識Linux
- Guice指南-手工依賴注入GUI依賴注入
- Guice指南-簡單工廠模式GUI模式
- 前端學習 node 快速入門 系列 —— 初步認識 node前端
- 第一章 認識Redis 【Redis入門教程】Redis
- Zookeeper入門指南
- CPack 入門指南
- Docker 入門指南Docker
- numpy入門指南
- EOS 入門指南
- Vue 入門指南Vue
- RabbitMQ入門指南MQ
- Nginx入門指南Nginx
- Vagrant 入門指南
- React 入門指南React
- Flask 入門指南Flask
- gulp入門指南
- OSWorkFlow入門指南
- CouchDB 入門指南
- RxJava入門指南RxJava
- ODA入門指南
- MySQL 入門指南MySql
- Markdown入門指南
- 系統架構基礎知識入門指南-下架構
- 系統架構基礎知識入門指南-上架構
- Storm入門指南第一章 基礎知識ORM
- KNIME快速入門指南