J2EE AntiPatterns
暫譯: J2EE 反模式
Bill Dudney, Stephen Asbury, Joseph K. Krozak, Kevin Wittkopf
- 出版商: Wiley
- 出版日期: 2003-08-22
- 售價: $2,080
- 貴賓價: 9.5 折 $1,976
- 語言: 英文
- 頁數: 624
- 裝訂: Paperback
- ISBN: 0471146153
- ISBN-13: 9780471146155
-
相關分類:
Design Pattern
已過版
買這商品的人也買了...
-
$1,029Fundamentals of Data Structures in C++
-
$680$537 -
$680$537 -
$680$666 -
$920$727 -
$550$468 -
$490$417 -
$860$568 -
$780$741 -
$860$731 -
$720$562 -
$780$616 -
$720$569 -
$560$442 -
$290$247 -
$880$792 -
$640$544 -
$149$149 -
$580$452 -
$560$442 -
$680$537 -
$490$382 -
$850$723 -
$620$490 -
$750$638
相關主題
商品描述
"The flip-side of Patterns, AntiPatterns provide developers with formal descriptions of common development gaffes that can derail a project along with practical guidelines on how to avoid them. In this book, the authors present dozens of Java AntiPatterns that tackle many of Java's biggest trouble spots for programming with EJB, JSP, Servlets, and more. Each AntiPattern is documented with real-world examples, code, and refactored (or escape-route) solutions, and the book uses UML (where appropriate) to diagram improved solutions. All code examples from the book are available to the reader on the book's companion Web site."
Table of Contents
Acknowledgments.
Foreword.
Author Bios.
Introduction.
Chapter 1: Distribution and Scaling.
AntiPattern: Localizing Data.
AntiPattern: Misunderstanding Data Requirements.
AntiPattern: Miscalculating Bandwidth Requirements.
AntiPattern: Overworked Hubs.
AntiPattern: The Man with the Axe.
Refactorings.
Plan Ahead.
Choose the Right Data Architecture.
Partition Data and Work.
Plan for Scaling (Enterprise-Scale Object Orientation).
Plan Realistic Network Requirements.
Use Specialized Networks.
Be Paranoid.
Throw Hardware at the Problem.
Chapter 2: Persistence.
AntiPattern: Dredge.
AntiPattern: Crush.
AntiPattern: DataVision.
AntiPattern: Stifle.
Refactorings.
Light Query.
Version.
Component View.
Pack.
Chapter 3: Service-Based Architecture.
AntiPattern: Multiservice.
AntiPattern: Tiny Service.
AntiPattern: Stovepipe Service.
AntiPattern: Client Completes Service.
Refactorings.
Interface Partitioning.
Interface Consolidation.
Technical Services Layer.
Cross-Tier Refactoring.
Chapter 4: JSP Use and Misuse.
AntiPattern: Ignoring Reality.
AntiPattern: Too Much Code.
AntiPattern: Embedded Navigational Information.
AntiPattern: Copy and Paste JSP.
AntiPattern: Too Much Data in Session.
AntiPattern: Ad Lib TagLibs.
Refactorings.
Beanify.
Introduce Traffic Cop.
Introduce Delegate Controller.
Introduce Template.
Remove Session Access.
Remove Template Text.
Introduce Error Page.
Chapter 5: Servlets.
AntiPattern: Including Common Functionality in Every Servlet.
AntiPattern: Template Text in Servlet.
AntiPattern: Using Strings for Content Generation.
AntiPattern: Not Pooling Connections.
AntiPattern: Accessing Entities Directly.
Refactorings.
Introduce Filters.
Use JDom.
Use JSPs.
Chapter 6: Entity Beans.
AntiPattern: Fragile Links.
AntiPattern: DTO Explosion.
AntiPattern: Surface Tension.
AntiPattern: Coarse Behavior.
AntiPattern: Liability.
AntiPattern: Mirage.
Refactorings.
Local Motion.
Alias.
Exodus.
Flat View.
Strong Bond.
Best of Both Worlds.
Façade.
Chapter 7: Session EJBs.
AntiPattern: Sessions A-Plenty.
AntiPattern: Bloated Session.
AntiPattern: Thin Session.
AntiPattern: Large Transaction.
AntiPattern: Transparent Façade.
AntiPattern: Data Cache.
Refactorings.
Session Façade.
Split Large Transaction.
Chapter 8: Message-Driven Beans.
AntiPattern: Misunderstanding JMS.
AntiPattern: Overloading Destinations.
AntiPattern: Overimplementing Reliability.
Refactorings.
Architect the Solution.
Plan Your Network Data Model.
Leverage All Forms of EJBs.
Chapter 9: Web Services.
AntiPattern: Web Services Will Fix Our Problems.
AntiPattern: When in Doubt, Make It a Web Service.
AntiPattern: God Object Web Service.
AntiPattern: Fine-Grained/Chatty Web Service.
AntiPattern: Maybe It’s Not RPC.
AntiPattern: Single-Schema Dream.
AntiPattern: SOAPY Business Logic.
Refactorings.
RPC to Document Style.
Schema Adaptor.
Web Service Business Delegate.
Chapter 10: J2EE Services.
AntiPattern: Hard-Coded Location Identifiers.
AntiPattern: Web = HTML.
AntiPattern: Requiring Local Native Code.
AntiPattern: Overworking JNI.
AntiPattern: Choosing the Wrong Level of Detail.
AntiPattern: Not Leveraging EJB Containers.
Refactorings.
Parameterize Your Solution.
Match the Client to the Customer.
Control the JNI Boundary.
Fully Leverage J2EE Technologies.
Appendix A AntiPatterns Catalog.
Distribution and Scaling AntiPatterns.
Persistence AntiPatterns.
Service-Based Architecture AntiPatterns.
JSP Use and Misuse AntiPatterns.
Servlet AntiPatterns.
Entity Bean AntiPatterns.
Session EJB AntiPatterns.
Message-Driven Bean AntiPatterns.
Web Services AntiPatterns.
J2EE Service AntiPatterns.
Appendix B: Refactorings Catalog.
Distribution and Scaling Refactorings.
Persistence Refactorings.
Service-Based Architecture Refactorings.
JSP Use and Misuse Refactorings.
Servlet Refactorings.
Entity Bean Refactorings.
Session EJBs Refactorings.
Message-Driven Bean Refactorings.
Web Service Refactorings.
J2EE Service Refactorings.
Appendix C: What’s on the Web Site.
System Requirements.
What’s on the Web Site.
References.
Index.
商品描述(中文翻譯)
《反模式的另一面,反模式為開發人員提供了常見開發失誤的正式描述,這些失誤可能會使專案偏離正軌,並提供了避免這些失誤的實用指導。在本書中,作者介紹了數十個 Java 反模式,針對許多 Java 在使用 EJB、JSP、Servlet 等方面的主要問題。每個反模式都附有真實世界的範例、程式碼以及重構(或逃生路徑)解決方案,並在適當的地方使用 UML 來繪製改進的解決方案。書中的所有程式碼範例均可在本書的伴隨網站上獲得。》
**目錄**
致謝。
前言。
作者簡介。
導言。
第 1 章:分佈與擴展。
反模式:本地化數據。
反模式:誤解數據需求。
反模式:錯誤計算帶寬需求。
反模式:過度工作的中心。
反模式:拿斧頭的人。
重構。
提前規劃。
選擇正確的數據架構。
劃分數據和工作。
計劃擴展(企業級物件導向)。
計劃現實的網絡需求。
使用專用網絡。
保持警惕。
用硬體解決問題。
第 2 章:持久性。
反模式:挖掘。
反模式:壓碎。
反模式:數據視覺。
反模式:抑制。
重構。
輕量查詢。
版本。
組件視圖。
包裝。
第 3 章:基於服務的架構。
反模式:多服務。
反模式:微小服務。
反模式:煙囪服務。
反模式:客戶端完成服務。
重構。
介面劃分。
介面整合。
技術服務層。
跨層重構。
第 4 章:JSP 的使用與誤用。
反模式:忽視現實。
反模式:過多的程式碼。
反模式:嵌入式導航信息。
反模式:複製和粘貼 JSP。
反模式:會話中數據過多。
反模式:隨意使用標籤庫。
重構。
Beanify。
引入交通警察。
引入委派控制器。
引入模板。
移除會話訪問。
移除模板文本。
引入錯誤頁面。
第 5 章:Servlet。
反模式:在每個 Servlet 中包含公共功能。
反模式:Servlet 中的模板文本。
反模式:使用字符串生成內容。
反模式:不進行連接池化。
反模式:直接訪問實體。
重構。
引入過濾器。
使用 JDom。
使用 JSP。
第 6 章:實體 Bean。
反模式:脆弱的鏈接。
反模式:DTO 爆炸。
反模式:表面張力。
反模式:粗糙行為。
反模式:責任。
反模式:海市蜃樓。
重構。
本地運動。
別名。
出走。
平面視圖。
強連接。
兩全其美。
外觀模式。
第 7 章:會話 EJB。
反模式:會話過多。
反模式:臃腫的會話。
反模式:瘦會話。
反模式:大型交易。
反模式:透明外觀。
反模式:數據緩存。
重構。
會話外觀。
拆分大型交易。
第 8 章:消息驅動 Bean。
反模式:誤解 JMS。
反模式:過載目的地。
反模式:過度實現可靠性。
重構。
架構解決方案。
規劃您的網絡數據模型。
利用所有形式的 EJB。
第 9 章:網絡服務。
反模式:網絡服務將解決我們的問題。
反模式:當懷疑時,將其變為網絡服務。
反模式:神對象網絡服務。
反模式:細粒度/冗長的網絡服務。
反模式:也許這不是 RPC。
反模式:單一架構夢想。
反模式:SOAPY 業務邏輯。
重構。
從 RPC 轉為文檔風格。
架構適配器。
網絡服務業務委託。
第 10 章:J2EE 服務。
反模式:硬編碼位置標識符。
反模式:網頁 = HTML。
反模式:需要本地原生代碼。
反模式:過度使用 JNI。
反模式:選擇錯誤的細節層級。
反模式:未利用 EJB 容器。
重構。
參數化您的解決方案。
將客戶端與客戶匹配。
控制 JNI 邊界。
充分利用 J2EE 技術。
附錄 A 反模式目錄。
分佈與擴展反模式。
持久性反模式。
基於服務的架構反模式。
JSP 使用與誤用反模式。
Servlet 反模式。
實體 Bean 反模式。
會話 EJB 反模式。
消息驅動 Bean 反模式。
網絡服務反模式。
J2EE 服務反模式。
附錄 B:重構目錄。
分佈與擴展重構。
持久性重構。
基於服務的架構重構。
JSP 使用與誤用重構。
Servlet 重構。
實體 Bean 重構。
會話 EJB 重構。
消息驅動 Bean 重構。
網絡服務重構。
J2EE 服務重構。
附錄 C:網站內容。
系統需求。
網站內容。
參考文獻。
索引。