Martin Fowler 的企業級軟體架構模式:軟體重構教父傳授 51個模式,活用設計思考與架構決策 (Patterns of Enterprise Application Architecture)
Martin Fowler 著 陳傳興、張立顗 譯;黃忠成 審校;陳仕傑(91) 專文推薦
- 出版商: 博碩
- 出版日期: 2022-04-14
- 定價: $800
- 售價: 7.8 折 $624
- 語言: 繁體中文
- 頁數: 544
- 裝訂: 平裝
- ISBN: 6263330503
- ISBN-13: 9786263330504
-
相關分類:
Design Pattern
- 此書翻譯自: Patterns of Enterprise Application Architecture (Hardcover)
-
相關翻譯:
企業應用架構模式 (Patterns of Enterprise Application Architecture) (簡中版)
企業應用架構模式(典藏版) (簡中版)
銷售排行:
🥇 2022 年度 繁體中文書 銷售排行 第 1 名
🥈 2022/5 繁體中文書 銷售排行 第 2 名
🥇 2022/4 繁體中文書 銷售排行 第 1 名
🥈 2022/3 繁體中文書 銷售排行 第 2 名
立即出貨 (庫存 > 10)
買這商品的人也買了...
-
無瑕的程式碼-敏捷完整篇-物件導向原則、設計模式與 C# 實踐 (Agile principles, patterns, and practices in C#)$790$616 -
無瑕的程式碼-整潔的軟體設計與架構篇 (Clean Architecture: A Craftsman's Guide to Software Structure and Design)$580$452 -
領域驅動設計:軟體核心複雜度的解決方法 (Domain-Driven Design: Tackling Complexity in the Heart of Software)$680$530 -
重構|改善既有程式的設計, 2/e (繁中平裝版)(Refactoring: Improving The Design of Existing Code, 2/e)$800$632 -
Working Effectively with Legacy Code : 管理、修改、重構遺留程式碼的藝術 (中文版)$720$562 -
依賴注入:原理、實作與設計模式 (Dependency Injection: Principles, Practices, Patterns, 2/e)$1,000$780 -
軟體架構原理|工程方法 (Fundamentals of Software Architecture: A Comprehensive Guide to Patterns, Characteristics, and Best Practices)$680$537 -
Kent Beck 的測試驅動開發:案例導向的逐步解決之道 (Test-Driven Development: By Example)(TDD)$560$437 -
經理人之道:技術領袖航向成長與改變的參考指南 (The Manager's Path: A Guide for Tech Leaders Navigating Growth and Change)$480$379 -
資料密集型應用系統設計 (Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems)$980$774 -
超大流量系統解決方案 : 大型網站架構師的經驗分享$690$538 -
深入淺出設計模式, 2/e (Head First Design Patterns: Building Extensible and Maintainable Object-Oriented Software, 2/e)$980$774 -
內行人才知道的系統設計面試指南$580$458 -
跟著 Docker 隊長,修練 22天就精通 - 搭配 20小時作者線上教學,無縫接軌 Microservices、Cloud-native、Serverless、DevOps 開發架構$880$695 -
設計重構:25個管理技術債的技巧消除軟體設計臭味 (Refactoring for Software Design Smells: Managing Technical Debt)$520$406 -
ASP.NET Core 6 實戰守則:超易懂的跨平台開發入門教學 (iT邦幫忙鐵人賽系列書)$600$468 -
SCRUM BOOT CAMP|23場工作現場的敏捷實戰演練$500$395 -
Visual Studio Code 實用指南:官方文件沒有詳述的 Extension 觀念、命令組合技與鍵位客製化技巧(iT邦幫忙鐵人賽系列書)$600$468 -
Azure DevOps 顧問實戰$500$375 -
Good Code, Bad Code|寫出高品質的程式碼 (Good Code, Bad Code: Think Like a Software Engineer)$520$411 -
軟體架構:困難部分 (Software Architecture: The Hard Parts: Modern Trade-Off Analyses for Distributed Architectures)$780$616 -
Clean Architecture 實作篇:在整潔的架構上弄髒你的手 (Get Your Hands Dirty on Clean Architecture)$500$390 -
Web API 設計原則|API 與微服務傳遞價值之道 (Principles of Web API Design: Delivering Value with APIs and Microservices)$520$411 -
無瑕的程式碼 敏捷篇:還原敏捷真實的面貌 (Clean Agile : Back to Basics)$560$437 -
Google 的軟體工程之道|從程式設計經驗中吸取教訓 (Software Engineering at Google)$880$695
商品描述
企業級軟體開發的實踐因許多新技術的出現而受惠。物件導向程式語言(如Java和.NET)與新工具和新技術的日趨普及,讓我們有能力建置更穩固與強健的應用程式,但它們並不容易實作。開發人員在企業級應用程式中總是會面臨相同的困境、遭遇同樣的難題,因為他們尚未充分領會到資深前輩們的架構經驗和失敗教訓。
本書介紹的,正是企業級軟體開發人員所面臨的種種嚴峻挑戰。企業級應用程式(如預約系統、供應鏈程式、金融系統等等)的挑戰是獨特的,與桌上型電腦系統和嵌入式系統同行所面臨的挑戰截然不同。因此,企業級開發人員往往必須自行挖掘解決方案。
本書作者Martin Fowler是全球知名的物件導向大師、軟體重構教父,他發現,儘管技術發生了變化──從Smalltalk到CORBA,再到Java與.NET──相同的基本設計概念仍然可以調整並應用來解決這些常見的問題。在一群專家級貢獻者的幫助下,Martin將40多種重複出現的解決方案淬鍊成為模式,並提供完整的脈絡,讓讀者能夠在面對困難的設計決策時做出正確的選擇,最終寫成這本不可或缺的解決方案手冊,它適用於任何的企業級軟體平台。
本書實際上是兩本書合二為一。第一個部分是開發企業級應用程式的簡單教學,讀者可以從頭到尾閱讀,以熟悉本書的範圍及章節安排。第二個部分則是本書的主軸,是關於模式本身的參考手冊,Martin為每一個模式都提供了用法和實作資訊,並搭配Java或C#程式碼的詳細範例。書中還利用豐富的UML圖形來進一步解釋這些概念。
你將從本書學會:
・將企業級應用程式劃分為多個分層
・組織商業邏輯的主要方法
・深入處理物件與關聯式資料庫之間的對應
・使用MVC模式來組織Web的呈現
・處理跨越多個交易的資料的並行問題
・設計分散式物件介面
・來自David Rice、Matthew Foemmel、Edward Hieatt、Robert Mee、Randy Stafford的專家級分享
作者簡介
作者簡介
Martin Fowler 是ThoughtWorks公司的首席科學家(ThoughtWorks是一間專業的企業級軟體開發與系統整合公司)。早在1980年代,他就是率先使用物件技術建置多分層企業級應用程式的領航者。他也是多本經典名著的作者,包括《Analysis Patterns》、《UML Distilled》、《Planning Extreme Programming》和《Refactoring》等等,以上書籍均由Addison-Wesley出版。他的個人網站:https://www.martinfowler.com。
譯者簡介
陳傳興(Bruce Chen) 由MS-DOS 6.22與Intel 486 DX2-66進入資訊領域,在QBasic寫下第一行Hello World,就愛上了開發的世界,目前任職於遠東金士頓科技擔任資深工程師。現任微軟最有價值專家(Microsoft MVP),喜歡分享技術心得於部落格,瀏覽量超過七百萬。STUDY4與twMVC社群核心成員。合著出版作品有《ASP.NET MVC4網站開發美學》、《ASP.NET MVC 5網站開發美學》。協助翻譯Github上擁有9.6K星星的《ASP.NET Core 開發人員指南》,為繁體與簡體中文化的主要貢獻者。
張立顗(Poy Chang) 10歲開始用FPE玩遊戲,目前任職於遠東金士頓科技擔任資深工程師。現任微軟最有價值專家(Microsoft MVP),微軟認證DevOps工程師專家,STUDY4技術社群核心成員。譯有《ASP.NET Core 開發人員指南》。不定期在部落格撰寫技術文章,舉辦技術活動,公開演講,分享浩瀚技術海中的一片浪花。
審校者簡介
黃忠成(Jeffray Huang) 現為系統架構及開發專業顧問,精通多種開發環境與程式語言,大型專案的跨領域整合尤其拿手,素有鬼才之稱。2008~2016 Microsoft MVP、Microsoft Techdays與MSDN資深講師、資策會客座講師;電腦書籍黃金年代的頂尖作者,出版過四本程式開發的相關著作,尤其是《極意之道次世代.NET Framework 3.5資料庫開發聖典ASP.NET篇》至今在繁體中文的世界裡仍然無人可出其右,堪稱為LINQ Framework中的聖經版本。
目錄大綱
推薦序
審校序
譯者序
作者序
前言
Part I 敘述
Chapter 1 分層
1.1 企業應用程式中分層的演進
1.2 三個主要分層
1.3 選擇分層的運作地點
Chapter 2 組織領域邏輯
2.1 做出選擇
2.2 服務層
Chapter 3 對應至關聯式資料庫
3.1 架構模式
3.2 行為問題
3.3 讀取資料
3.4 結構對應模式
3.5 建構對應
3.6 使用中繼資料
3.7 資料庫連線
3.8 其他提醒
3.9 進一步閱讀
Chapter 4 Web 展示層
4.1 View 模式
4.2 Input Controller 模式
4.3 進一步閱讀
Chapter 5 並行
5.1 並行問題
5.2 執行脈絡
5.3 隔離與不可變性
5.4 樂觀並行控制與悲觀並行控制
5.5 交易
5.6 離線並行控制模式
5.7 應用伺服器並行
5.8 進一步閱讀
Chapter 6 工作階段狀態
6.1 無狀態的價值
6.2 工作階段狀態
6.3 儲存工作階段狀態的方法
Chapter 7 分散式策略
7.1 分散式物件的誘惑
7.2 遠端介面和本機介面
7.3 必須使用分散式處理的場景
7.4 關於分散式的界限
7.5 分散式的介面
Chapter 8 沙盤推演
8.1 從領域分層開始
8.2 深入到資料來源層
8.3 展示層
8.4 一些具體的技術建議
8.5 其他分層方式
Part II 模式
Chapter 9 領域邏輯模式
9.1 Transaction Script(交易指令碼)
9.2 Domain Model(領域模型)
9.3 Table Module(表格模組)
9.4 Service Layer(服務層)
Chapter 10 資料來源架構模式
10.1 Table Data Gateway(表格資料閘道)
10.2 Row Data Gateway(資料列資料閘道)
10.3 Active Record(主動式記錄)
10.4 Data Mapper(資料對應器)
Chapter 11 物件關聯行為模式
11.1 Unit of Work(工作單元)
11.2 Identity Map(識別對應表)
11.3 Lazy Load(延遲載入)
Chapter 12 物件關聯結構模式
12.1 Identity Field(識別欄位)
12.2 Foreign Key Mapping(外部索引鍵對應)
12.3 Association Table Mapping(關聯表格對應)
12.4 Dependent Mapping(依賴對應)
12.5 Embedded Value(內嵌值)
12.6 Serialized LOB(序列化大型物件)
12.7 Single Table Inheritance(單一表格繼承)
12.8 Class Table Inheritance(類別表格繼承)
12.9 Concrete Table Inheritance(實體表格繼承)
12.10 Inheritance Mappers(繼承對應器)
Chapter 13 物件關聯中繼資料對應模式
13.1 Metadata Mapping(中繼資料對應)
13.2 Query Object(查詢物件)
13.3 Repository(儲存庫)
Chapter 14 Web 展示模式
14.1 Model View Controller(模型- 檢視- 控制器)
14.2 Page Controller(頁面控制器)
14.3 Front Controller(前端控制器)
14.4 Template View(範本檢視)
14.5 Transform View(轉換檢視)
14.6 Two-Step View(兩階段檢視)
14.7 Application Controller(應用控制器)
Chapter 15 分散式模式
15.1 Remote Facade(遠端外觀)
15.2 Data Transfer Object(資料傳輸物件)
Chapter 16 離線並行模式
16.1 Optimistic Offline Lock(樂觀離線鎖定)
16.2 Pessimistic Offline Lock(悲觀離線鎖定)
16.3 Coarse-Grained Lock(粗粒度鎖定)
16.4 Implicit Lock(隱含鎖定)
Chapter 17 工作階段狀態模式
17.1 Client Session State(用戶端工作階段狀態)
17.2 Server Session State(伺服器工作階段狀態)
17.3 Database Session State(資料庫工作階段狀態)
Chapter 18 基礎模式
18.1 Gateway(閘道)
18.2 Mapper(對應器)
18.3 Layer Supertype(分層超級型別)
18.4 Separated Interface(分離介面)
18.5 Registry(登錄表)
18.6 Value Object(值物件)
18.7 Money(金錢)
18.8 Special Case(特殊情況)
18.9 Plugin(外掛)
18.10 Service Stub(服務替身)
18.11 Record Set(記錄集)
Appendix 附錄
















