Building Evolutionary Architectures

Building Evolutionary Architectures pdf epub mobi txt 電子書 下載2025

出版者:O'Reilly Media
作者:Neal Ford
出品人:
頁數:180
译者:
出版時間:2017-10-13
價格:USD 59.99
裝幀:Paperback
isbn號碼:9781491986363
叢書系列:
圖書標籤:
  • 架構
  • 軟件工程
  • 軟件開發
  • architecture
  • 計算機
  • Software_Architecture
  • 編程
  • ThoughtWorks
  • evolutionary architecture
  • software design
  • architecture patterns
  • systems evolution
  • adaptive systems
  • sustainable software
  • development practices
  • technical evolution
  • scalable systems
想要找書就要到 小美書屋
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

具體描述

The software development ecosystem is constantly changing, providing a constant stream of new tools, frameworks, techniques, and paradigms. Over the past few years, incremental developments in core engineering practices for software development have created the foundations for rethinking how architecture changes over time, along with ways to protect important architectural characteristics as it evolves. This practical guide ties those parts together with a new way to think about architecture and time.

著者簡介

尼爾·福特(Neal Ford)

是ThoughtWorks軟件架構師、Meme Wrangler,曾任DSW集團CTO,是國際公認的軟件開發與交付專傢。

麗貝卡·帕森斯(Rebecca Parsons)

是ThoughtWorks CTO,在大規模分布式對象應用開發和係統集成方麵擁有豐富經驗。

帕特裏卡·柯(Patrick Kua)

是數字銀行N26首席科學傢,曾任ThoughtWorks主任谘詢師和技術主管,在敏捷和精益開發方麵擁有豐富經驗。

圖書目錄

Foreword
Preface
Conventions Used in This Book
O’Reilly Safari
How to Contact Us
Additional Information
Acknowledgments
1. Software Architecture
Evolutionary Architecture
How Is Long-term Planning Possible When Everything Changes All the Time?
Once I’ve Built an Architecture, How Can I Prevent It from Gradually Degrading Over Time?
Incremental Change
Guided Change
Multiple Architectural Dimensions
Conway’s Law
Why Evolutionary?
Summary
2. Fitness Functions
What is a Fitness Function?
Categories
Atomic Versus Holistic
Triggered Versus Continual
Static Versus Dynamic
Automated Versus Manual
Temporal
Intentional Over Emergent
Domain-specific
Identify Fitness Functions Early
Review Fitness Functions
3. Engineering Incremental Change
Building Blocks
Testable
Deployment Pipelines
Combining Fitness Function Categories
Case Study: Architectural Restructuring while Deploying 60 Times/Day
Conflicting Goals
Case Study: Adding Fitness Functions to PenultimateWidgets’ Invoicing Service
Hypothesis- and Data-Driven Development
Case Study: What to Port?
4. Architectural Coupling
Modularity
Architectural Quanta and Granularity
Evolvability of Architectural Styles
Big Ball of Mud
Monoliths
Event-Driven Architectures
Service-Oriented Architectures
“Serverless” Architectures
Controlling Quantum Size
Case Study: Guarding Against Component Cycles
5. Evolutionary Data
Evolutionary Database Design
Evolving Schemas
Shared Database Integration
Inappropriate Data Coupling
Two-Phase Commit Transactions
Age and Quality of Data
Case Study: Evolving PenultimateWidgets’ Routing
6. Building Evolvable Architectures
Mechanics
1. Identify Dimensions Affected by Evolution
2. Define Fitness Function(s) for Each Dimension
3. Use Deployment Pipelines to Automate Fitness Functions
Greenfield Projects
Retrofitting Existing Architectures
Appropriate Coupling and Cohesion
Engineering Practices
Fitness Functions
COTS Implications
Migrating Architectures
Migration Steps
Evolving Module Interactions
Guidelines for Building Evolutionary Architectures
Remove Needless Variability
Make Decisions Reversible
Prefer Evolvable over Predictable
Build Anticorruption Layers
Case Study: Service Templates
Build Sacrificial Architectures
Mitigate External Change
Updating Libraries Versus Frameworks
Prefer Continuous Delivery to Snapshots
Version Services Internally
Case Study: Evolving PenultimateWidgets’ Ratings
7. Evolutionary Architecture Pitfalls and Antipatterns
Technical Architecture
Antipattern: Vendor King
Pitfall: Leaky Abstractions
Antipattern: Last 10% Trap
Antipattern: Code Reuse Abuse
Case Study: Reuse at PenultimateWidgets
Pitfall: Resume-Driven Development
Incremental Change
Antipattern: Inappropriate Governance
Case Study: Goldilocks Governance at PenultimateWidgets
Pitfall: Lack of Speed to Release
Business Concerns
Pitfall: Product Customization
Antipattern: Reporting
Pitfall: Planning Horizons
8. Putting Evolutionary Architecture into Practice
Organizational Factors
Cross-Functional Teams
Organized Around Business Capabilities
Product over Project
Dealing with External Change
Connections Between Team Members
Team Coupling Characteristics
Culture
Culture of Experimentation
CFO and Budgeting
Building Enterprise Fitness Functions
Case Study: PenultimateWidgets as a Platform
Where Do You Start?
Low-Hanging Fruit
Highest-Value
Testing
Infrastructure
Case Study: Enterprise Architecture at PenultimateWidgets
Future State?
Fitness Functions Using AI
Generative Testing
Why (or Why Not)?
Why Should a Company Decide to Build an Evolutionary Architecture?
Case Study: Selective Scale at PenultimateWidgets
Why Would a Company Choose Not to Build an Evolutionary Architecture?
Convincing Others
Case Study: Consulting Judo
The Business Case
“The Future Is Already Here…”
Moving Fast Without Breaking Things
Less Risk
New Capabilities
Building Evolutionary Architectures
Index
· · · · · · (收起)

讀後感

評分

整本书其实就是一个大的idea - 变化无法避免,让我们把适应变化作为架构设计的一个原生维度来考虑 - 这个写一篇文章即可 - 写一本书实在是。。。 英文版就很啰嗦,翻译的版本就更难读了 - 两星给英文版,一星给中文版。 字数补丁 字数补丁 字数补丁 字数补丁 字数补丁 字数补丁...

評分

整本书其实就是一个大的idea - 变化无法避免,让我们把适应变化作为架构设计的一个原生维度来考虑 - 这个写一篇文章即可 - 写一本书实在是。。。 英文版就很啰嗦,翻译的版本就更难读了 - 两星给英文版,一星给中文版。 字数补丁 字数补丁 字数补丁 字数补丁 字数补丁 字数补丁...

評分

整本书其实就是一个大的idea - 变化无法避免,让我们把适应变化作为架构设计的一个原生维度来考虑 - 这个写一篇文章即可 - 写一本书实在是。。。 英文版就很啰嗦,翻译的版本就更难读了 - 两星给英文版,一星给中文版。 字数补丁 字数补丁 字数补丁 字数补丁 字数补丁 字数补丁...

評分

整本书其实就是一个大的idea - 变化无法避免,让我们把适应变化作为架构设计的一个原生维度来考虑 - 这个写一篇文章即可 - 写一本书实在是。。。 英文版就很啰嗦,翻译的版本就更难读了 - 两星给英文版,一星给中文版。 字数补丁 字数补丁 字数补丁 字数补丁 字数补丁 字数补丁...

評分

整本书其实就是一个大的idea - 变化无法避免,让我们把适应变化作为架构设计的一个原生维度来考虑 - 这个写一篇文章即可 - 写一本书实在是。。。 英文版就很啰嗦,翻译的版本就更难读了 - 两星给英文版,一星给中文版。 字数补丁 字数补丁 字数补丁 字数补丁 字数补丁 字数补丁...

用戶評價

评分

Day 12 乾貨比較少,隻學到一個新概念,fitness function #百日早起學習挑戰

评分

#平衡之道

评分

把軟件架構方方麵麵的東西都講到瞭,有開發經驗的都能從書中找到吻閤的地方

评分

把軟件架構方方麵麵的東西都講到瞭,有開發經驗的都能從書中找到吻閤的地方

评分

evolutionary = guided + incremental change。實際就是在自動化發布集成的基礎上增加各個方麵的衡量指標。道理很簡單,也沒有講很多practical的例子。更多的是大麵積的科普,可作為深入閱讀的入口。

本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 book.quotespace.org All Rights Reserved. 小美書屋 版权所有