惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

人人都是产品经理
人人都是产品经理
美团技术团队
J
Java Code Geeks
T
The Exploit Database - CXSecurity.com
博客园 - 聂微东
T
Tor Project blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
P
Proofpoint News Feed
AWS News Blog
AWS News Blog
博客园_首页
S
Secure Thoughts
S
Schneier on Security
量子位
Simon Willison's Weblog
Simon Willison's Weblog
H
Help Net Security
Spread Privacy
Spread Privacy
Vercel News
Vercel News
Hugging Face - Blog
Hugging Face - Blog
M
Microsoft Research Blog - Microsoft Research
T
Tailwind CSS Blog
The Cloudflare Blog
V
V2EX - 技术
I
InfoQ
O
OpenAI News
有赞技术团队
有赞技术团队
F
Fortinet All Blogs
Google DeepMind News
Google DeepMind News
V
V2EX
Jina AI
Jina AI
Hacker News: Ask HN
Hacker News: Ask HN
F
Future of Privacy Forum
C
Comments on: Blog
Y
Y Combinator Blog
T
The Blog of Author Tim Ferriss
Blog — PlanetScale
Blog — PlanetScale
Cyberwarzone
Cyberwarzone
Project Zero
Project Zero
P
Privacy International News Feed
H
Hacker News: Front Page
Engineering at Meta
Engineering at Meta
Security Latest
Security Latest
P
Privacy & Cybersecurity Law Blog
Recent Announcements
Recent Announcements
小众软件
小众软件
The Hacker News
The Hacker News
Martin Fowler
Martin Fowler
T
Threatpost
P
Proofpoint News Feed
博客园 - 司徒正美
S
SegmentFault 最新的问题

Hacker News: Show HN

Show HN: OAuth 2.0 framework for MCP servers Show HN: VimRace Hodor — Instantly launch your prompts into any AI tool GitHub - javaid-codes/audit-supply-chain-agents Workplane — Share AI artifacts with humans and agents Show HN: Demon – open-source real-time music diffusion engine, 25Hz local GPU Show HN: Gochan – A library of channel architectures for Go, inspired by Rust Show HN: WatchPlane, my attempt to replace my monitoring tool stack GitHub - arifozgun/OpenGem: Free, Open-Source AI API Gateway with Gemini, OpenAI & Anthropic Compatibility Show HN: Biopetals – Run biology tuned Llama, BitTorrent-style Show HN: Approve Claude CLI prompts from the browser, phone, or tablet GridPath — Best way to build spreadsheets with AI Kibbutznik — a pulse-based direct democratic engine Show HN: CoreMCP – MCP Server for On-Prem DBs Zorilla — vibe code games with your crew Show HN: KittyHTML – Render HTML/CSS as an inline image in your terminal Show HN: Enigma – a walkthrough from Caesar ciphers to a working Enigma machine GitHub - bingud/filemat: Web-based file manager Show HN: TruthLens – Free multi-signal deepfake image detector GitHub - apexlocal-jz/claude-usage-tray: Windows system-tray app showing your Claude Code rate-limit usage at a glance. Zero deps, ~300 lines of PowerShell. Cross-IDE (works regardless of VS Code, Cursor, plain terminal). Show HN: I made an emergency page for my family. You should too Mneme HQ — Architectural Governance for AI-Assisted Development 2048 — Blitz Edition Release v0.1.2.1 · kouhxp/yapsnap GitHub - noopolis/moltnet: Self-hostable chat network for AI agents. Pre-built bridges for Claude Code, Codex, and the Claws. Rooms, DMs, history. No Slack bots, no Matrix, no glue code. Show HN: Disable Ugly Firefox Single Rounded Corner Show HN: Enju – humans, AI agents, and compute as peers on one workflow graph PolyCSS - CSS 3D Engine for the DOM Show HN: Continuity-auth – Respect-weighted rate limits for the open web GitHub - luml-ai/luml: LUML is an open-source MLOps/LLMOps platform, allowing to build and deploy AI/ML models in a matter of minutes. Show HN: Sitchy – Auto-setup any GitHub repo Show HN: Detect anti-bot, anti-agent defenses for any website InsiderTrack · Insider Trading Intelligence GitShare.ch - GitHub Repo Screenshots for Social Media Show HN: Game Boy pixel pipeline explorer 在地图上绘制 — 免费在线路线绘制和位置标记工具 Supapin - Automate your Pinterest. Grow your traffic. GitHub - mrdanielcasper/CoreTex: A UNIX-inspired, biomimetic, flat-file AI harness and knowledge engine. Show HN: Notmyfault.fyi – email alerts when GitHub, Stripe, or Vercel go down GitHub - clemg/pierre-github: Pierre's diffs.com and trees.software for Github GitHub - lyriks-io/unspaghettit: Behavior-driven AI development without prompt spaghetti. ADHD: Parallel Divergent Ideation for Coding Agents GitHub - sofumel/claude-handoff-revive: Resume Claude Code work after rate/usage/context limits without replaying the prior transcript. Auto-saves at 90%/95% usage. Plugin-installable, 10 languages. droast — Free Online Dockerfile Linter Billpal | AI bookkeeping assistant GitHub - dotexorg/erpc: Typed, end-to-end encrypted RPC over any bidirectional channel. GitHub - BeeZeeAgent/beezee: Agent harness orchestration Legato Next.js Boilerplate for Internal Tools · CoreUI Axion — Real amps in your browser Chat Hoarding: A permanent, private archive of your WhatsApp chats Show HN: I hand-write 5 daily word puzzles before work Show HN: Generate 54 social media assets in 1 click the shared workspace for human + agent teams Sotto — Your invisible interview co-pilot. GitHub - clark-labs-inc/clark-hash: Clark Hash, 32x smaller searchable sketches for embeddings TokenAdvisor — Free LLM token analyzer with savings advice GitHub - ZeroPointRepo/youtube-mcp: The fastest YouTube transcript + YouTube search MCP for AI agents. Try for free. Typing Mastery — climb toward 100+ WPM, deliberately GitHub - Andebugulin/Awareen Mirdel - Next-generation AI Workspace PikoCI — The CI/CD that grows with you Virtuoso Data Table GoPeek — open links in live mini browser windows without losing your flow. Show HN: I built a samurai-themed playable Résumé with React, Phaser, + Laravel Programming Language Job Demand Index — 2026 STAX IDE — a spatial terminal IDE for macOS Tasmap GitHub - craigmccaskill/posthorn: Self-hosted email gateway between your apps and a transactional mail provider (Postmark, Resend, Mailgun, AWS SES, or outbound-SMTP). Three ingress shapes (HTTP form, HTTP API, SMTP). One Docker container, one TOML config. Show HN: Windows 8 inspired transfer speed graph Show HN: Hyper, the self driving company brain GitHub - shubhamgoel27/artifold: 📚 A local-first library for the stuff you make with AI. Index, search, preview, share — and use your past work as the style guide for your next one. Show HN: I made a simple Keyword Research tool for app devs Mobile SSH - Android SSH client GitHub - punnerud/mpee: Offline routing, multi-vehicle VRP & street geocoding for one downloaded area — Rust engine, driven from Python or a CLI GitHub - fayzan123/claude-workflow-composer: Visual desktop app for composing multi-agent coding workflows. Drag agents, attach skills and MCPs, wire handoffs, export to .claude/ Show HN: I turned my personal website into a bash shell (with Vim) Show HN: I built a tool to auto-accept AI slop and bigtech devs loves it GitHub - Flowtriq/ftagent-lite: Lightweight open-source DDoS traffic monitor. Stdout output, no account required Permly — Notification Manager for Android GitHub - srijanpatel/arq-dashboard: A dashboard for ARQ built with FastAPI Show HN: CredWork – a simple project tracking and showcasing tool GitHub - clark-labs-inc/clark-agent: A small, typed, hookable agent loop. Provider-agnostic, sandbox-agnostic, tooling-agnostic. Battle tested on clarkchat.com GitHub - alebeck/rhymesum: Hash files into LLM-generated poems locally GitHub - bitcreed/gsd-meta-manager: TUI command center for managing multiple GSD projects from a single terminal GitHub - oeo/monkdev: A holy, minimalist CLI toolkit and MCP server designed exclusively for LLM coding agents. GitHub - xilioscient/troskji: Post-quantum multi-path tunnel — Hybrid KEM (X25519+Kyber-1024) · Shamir 3-of-5 SSS · BLAKE3 · XDP/eBPF cover traffic · Rust Introducing vtermux – M.C. Pantz Flow Simulator Show HN: Free DNS propagation checker – 40 resolvers, TTL and response times GitHub - hamsterbase/llm-translator SetupHub - Share Your IDE Setup with the World Show HN: Zt – Expose local services via Cloudflare Zero Trust in one command Mirror — Record your workflow. Generate docs in one click. GitHub - NikhilSKashyap/interviewsignal: AI-native broad-interviewing. Share a code, capture thought process, auto-grade on submit. pip install, zero setup cost, pure signal. Stumbleback - Chrome 应用商店 OACP — Open Agent Coordination Protocol GitHub - mplsllc/macsurf: A modern web browser for Classic Mac OS 9 PowerPC. Real CSS3, ES5 JavaScript, native HTTPS — built with CodeWarrior on the Carbon API. yavchn GitHub - rishavsunny12/harvestGuard: Lets see how claude code creatively creates a project for me
Architectural Metapatterns
descri · 2026-05-28 · via Hacker News: Show HN

The Pattern Language of Software Architecture

最低售价

免费!

$15.00

PDF

EPUB

1,272

读者

440

页数

关于

Patterns of software architecture are all interrelated (no pattern is an island). You can rarely make a product in a pure architectural style, and the chances for it to survive undistorted over years are negligible. Software grows iteratively and adapts to its environment.

Architectural Metapatterns is all about patterns and their relations. It generalizes hundreds of individual patterns into several wider classes (metapatterns) each of which can be applied to a local or distributed system to change its properties in a certain way. Rinse and repeat.

The content is lavishly illustrated with intuitive NoUML diagrams. It’s concise and AI-free.

Have a good time!

Here are the web version of the book and presentations that summarize its main content.

作者

Denys Poltorak

Denys is an unemployed C/C++ programmer from Ukraine.

He had 15 years of experience with embedded and high-load systems, nearly half of which he spent leading the development of a project, before he burned out, lost his job, and wrote a book.

用户评价

  • This book is PHENOMENAL. I program professionally, teach code architecture to teams, and read many books about software patterns and practices. This book is an instant classic, packed with pragmatic wisdom for software programmers, system architects, and development teams. Kudos for creating such an superb addition to the field, and moreover for making it widely available for the benefit of all of us.

    Joel Parker Henderson

    Head of Software Engineering, Technology Advisor

  • Architectural Metapatterns helps unravel the complexities surrounding software architecture by describing some common (and not so common) patterns an architect can use to better understand and form architectural solutions. In this book you’ll find hundreds of structure-based patterns encompassing communication, data, modularity, coupling, structure, and lots more, making it a must-read for any software architect.

    Mark Richards

    Author of Fundamentals of Software Architecture

  • This magnificent book lets you reason clearly about modern architectural patterns. Modern applications have only a few different types of problem to solve, but each problem has many possible solutions. This book steps through the problems and, for each one, discusses the trade-offs and different approaches in the patterns that solve that problem. After you read it, you'll know how to think about your problems and how to find the right architecture to solve them. This is exactly the kind of book I would have been delighted to sign when I was an editor.

    Nathan Torkington

    Author of Perl Cookbook

目录

  • Part 0. Introduction
    • You’ll find inside
    • Short table of contents
    • About this book
      • Structure of the book
      • Diagrams
      • Notation
      • The architectural religions
      • What’s wrong with patterns
      • TLDR
    • Metapatterns
      • Architectural patterns
      • Design space
      • Structure determines architecture
      • The system of coordinates
      • Map and reduce
      • An example of metapatterns
      • What does that mean
    • System topologies
      • Methodology
        • From theory to practice
      • The map of system topologies
      • Monolithic systems
        • True Monoliths
        • Monoliths with auxiliary layers
        • Monoliths with Plugins
        • Underdeveloped Moduliths
      • Layered architectures
        • Ordinary Layers
        • Scaled Layers
        • Other layered systems
      • Plugins family
        • Plugin Architecture
        • Separated Presentation
        • Control patterns
        • Hexagonal Architecture
        • Cell
      • Services area
        • Barebone services
        • Services with extensions
        • Hierarchies of services
        • Partially merged services
      • Fragmented patterns
        • Layers of services
        • Layered services
        • Hierarchies
      • Common motifs
      • Summary
  • Part 1. Foundations of software architecture
    • Modules and complexity
      • Concepts and complexity
      • Modules, encapsulation and bounded context
      • Coupling and cohesion
      • Development and operational complexity
      • Composition of modules
      • Forwarding and duplication
      • Summary
    • Forces, asynchronicity, and distribution
      • Requirements and forces
      • Conflicting forces
      • Asynchronous communication
      • Distribution
      • The goods and the price
    • Four kinds of software
      • Source of inputs
      • Latency constraints
      • Control (real-time, hardware input)
        • Variants
        • Patterns
        • Implementation
      • Interactive (soft real-time, user input)
        • Variants
        • Patterns
        • Implementation
      • Streaming (continuous, raw data input)
        • Variants
        • Patterns
        • Implementation
      • Computational (single run, user input)
        • Variants
        • Patterns
        • Implementation
      • Mixed cases
        • Camera
        • 3D action game
        • SQL database
      • Summary
    • Arranging communication
      • Programming and architectural paradigms
        • Technologies are specialized
        • Object-oriented (centralized, shared nothing) paradigm – orchestration
        • Functional (decentralized, streaming) paradigm – choreography
        • Procedural (data-centric) paradigm – shared data
        • Composite cases
        • Reality is more complex
        • Summary
      • Orchestration
        • Roles
        • Dependencies
        • Mutual orchestration
        • Summary
      • Choreography
        • Early response
        • Dependencies
        • Multi-choreography
        • Summary
      • Shared data
        • Storage
        • Messaging
        • Full-featured
        • Summary
      • Comparison of communication styles
  • Part 2. Basic metapatterns
    • Monolith
      • Performance
      • Dependencies
      • Applicability
      • Relations
      • Variants by the internal structure
        • True Monolith, Big Ball of Mud
        • (inexact) Lambda Monolith, Monolambda, Lambdalith
        • (misapplied) Layered Monolith
        • (misapplied) Modular Monolith (Modulith)
        • (misapplied) Distributed Monolith
        • (inexact) Plugins and Hexagonal Architecture
      • Examples
        • Single-threaded Reactor (one thread, one task)
        • Multi-threaded Reactor (a thread per task)
        • Proactor (one thread, many tasks)
        • (inexact) Half-Sync/Half-Async (coroutines or fibers)
        • The state of the art
        • (inexact) (Re)Actor-with-Extractors (phased processing)
      • Evolutions
        • Evolutions to Shards
        • Evolutions to Layers
        • Evolutions to Services
        • Evolutions with Plugins
      • Summary
    • Shards
      • Performance
      • Dependencies
      • Applicability
      • Relations
      • Variants by isolation
        • Multithreading
        • Multiple processes
        • Distributed instances
      • Examples
        • Persistent slice: Sharding, Shards, Partitions, Multitenancy, Cells (Amazon definition)
        • Persistent copy: Replica
        • Stateless: Pool, Instances, Replicated Load-Balanced Services, Work Queue, Lambdas
        • Temporary state: Create on Demand, Actors
      • Evolutions
        • Evolutions of a sharded monolith
        • Evolutions that share data
        • Evolutions that share logic
      • Summary
    • Layers
      • Performance
      • Dependencies
      • Applicability
      • Relations
      • Variants by isolation
        • Synchronous layers, Layered Monolith
        • Asynchronous layers
        • A process per layer
        • Distributed Tiers
      • Variants of layer roles
        • Interface (API or UI)
        • Application (use cases or integration)
        • Domain (business rules or model)
        • Generic code (libraries and utilities)
        • Communication (middleware)
        • Data (persistence)
        • Operating system and hardware
      • Examples
        • Entity-Control-Boundary (ECB), Entity-Boundary-Control (EBC), Boundary-Control-Entity (BCE)
        • Domain-Driven Design (DDD) Layers
        • Three-Tier Architecture
        • Embedded systems
      • Evolutions
        • Evolutions that make more layers
        • Evolutions that help large projects
        • Evolutions that improve performance
        • Evolutions to gain flexibility
      • Summary
    • Services
      • Performance
      • Dependencies
      • Applicability
      • Relations
      • Variants by isolation
        • Synchronous modules: Modular Monolith (Modulith)
        • Asynchronous modules: Modular Monolith (Modulith), Embedded Actors
        • Multiple processes
        • Distributed runtime: Backend Actors
        • Distributed services: Service-Based Architecture, Space-Based Architecture, Microservices
      • Variants by communication
        • Direct method calls
        • RPCs and commands (request/confirm pairs)
        • Notifications (pub/sub) and shared data
        • (inexact) No communication
      • Variants by size
        • Whole subdomain: (Sub-)Domain Services, Macroservices
        • Part of a subdomain: Microservices
        • Class-like: Actors
        • Single function: FaaS, Nanoservices
      • Variants by internal structure
        • Monolithic service
        • Hexagonal service
        • Scaled service
        • Layered service
        • Cell (WSO2 definition) (service of services), Domain (Uber definition), Cluster
      • Examples
        • Service-Based Architecture (SBA), Macroservices
        • Microservices
        • Actors
        • (inexact) Nanoservices (API layer)
        • (inexact) Device Drivers, Pedestal
      • Evolutions
        • Evolutions that restructure services
        • Evolutions that add layers
        • Evolutions of individual services
      • Summary
    • Pipeline
      • Performance
      • Dependencies
      • Applicability
      • Relations
      • Variants by scheduling
        • Stream processing, Nearline system
        • Batch processing, Offline system
      • Examples
        • Pipes and Filters, Workflow System
        • Choreographed (Broker Topology) Event-Driven Architecture (EDA), Event Collaboration
        • Data Mesh
        • Function as a Service (FaaS), Nanoservices (pipelined)
      • Evolutions
      • Summary
  • Part 3. Extension metapatterns
    • Middleware
      • Performance
      • Dependencies
      • Applicability
      • Relations
      • Variants by functionality
        • By addressing (channels, actors, pub/sub, gossip)
        • By flow (notifications, request/confirm, RPC)
        • By delivery guarantee
        • By persistence
        • By structure (Microkernel, Mesh, Broker)
      • Examples
        • Persistent Event Log, Shared Event Store
        • Service Mesh
        • Message Bus
        • Event Mediator
        • Enterprise Service Bus (ESB)
      • Evolutions
      • Summary
    • Shared Repository
      • Performance
      • Dependencies
      • Applicability
      • Relations
      • Examples
        • Shared Database, Integration Database, Data Domain, Database of Service-Based Architecture
        • Shared File System
        • Shared Memory
        • Blackboard
        • Data Grid of Space-Based Architecture (SBA), Replicated Cache, Distributed Cache
        • Persistent Event Log, Shared Event Store
        • (inexact) Stamp Coupling
      • Evolutions
      • Summary
    • Proxy
      • Performance
      • Dependencies
      • Applicability
      • Relations
      • Variants by transparency
        • Full Proxy
        • Half-Proxy
      • Variants by placement
        • Separate deployment: Standalone
        • On the system side: Sidecar
        • On the client side: Ambassador
      • Examples
        • Firewall, (API) Rate Limiter, API Throttling
        • Response Cache, Read-Through Cache, Write-Through Cache, Write-Behind Cache, Cache, Caching Layer, Distributed Cache, Replicated Cache
        • Load Balancer, Sharding Proxy, Cell Router, Messaging Grid, Scheduler
        • Dispatcher, Reverse Proxy, Ingress Controller, Edge Service, Microgateway
        • Adapter, Anticorruption Layer, Abstraction Layer, Open Host Service, Gateway, Message Translator, API Service, Cell Gateway, (inexact) Backend for Frontend, Database Access Layer, Data Mapper, Repository, Driver
        • API Gateway
        • User Interface, Presentation Layer, Separated Presentation, Command Line Interface (CLI), Graphical User Interface (GUI), Frontend, Human-Machine Interface (HMI), Man-Machine Interface (MMI), Operator Interface
      • Evolutions
      • Summary
    • Orchestrator
      • Performance
      • Dependencies
      • Applicability
      • Relations
      • Variants by transparency
        • Closed or strict
        • Open or relaxed
      • Variants by structure (can be combined)
        • Monolithic
        • Scaled
        • Layered
        • A service per client type (Backends for Frontends)
        • A service per subdomain (Hierarchy)
        • A service per use case (SOA-style)
      • Examples
        • API Composer, Remote Facade, Gateway Aggregation, Composed Message Processor, Scatter-Gather, MapReduce
        • Process Manager, Orchestrator
        • (Orchestrated) Saga, Saga Orchestrator, Saga Execution Component, Transaction Script, Coordinator
        • Integration (Micro-)Service, Application Service
        • (inexact) Front Controller
        • API Gateway
        • Event Mediator
        • Enterprise Service Bus (ESB)
      • Evolutions
      • Summary
    • Sandwich
      • Performance
      • Dependencies
      • Applicability
      • Relations
      • Examples
        • Blackboard System
        • Space-Based Architecture
        • Service-Based Architecture
        • Nanoservices
        • Command Query Responsibility Segregation (CQRS)
        • (inexact) Replicated Load-Balanced Services, Lambdas
      • Evolutions
        • Primary evolutions
        • Evolutions of the data layer
        • Evolutions of the application layer
      • Summary
  • Part 4. Fragmented metapatterns
    • Layered Services
      • Performance
      • Variants
      • Orchestrated Three-Layered Services
        • Dependencies
        • Relations
        • Evolutions
      • Choreographed Two-Layered Services
        • Dependencies
        • Relations
        • Evolutions
      • Command Query Responsibility Segregation (CQRS)
        • Dependencies
        • Relations
        • Evolutions
      • Summary
    • Polyglot Persistence
      • Performance
      • Dependencies
      • Applicability
      • Relations
      • Examples with independent storage
        • Private and Shared Databases
        • Specialized Databases
        • Data File, Content Delivery Network (CDN)
      • Examples with derived storage
        • Read-Only Replicas
        • Database Cache, Cache-Aside
        • Memory Image, Materialized View
        • Reporting Database, CQRS View Database, Event-Sourced View, Source-Aligned (Native) Data Product Quantum (DPQ) of Data Mesh
        • Query Service, Front Controller, Data Warehouse, Data Lake, Aggregate Data Product Quantum (DPQ) of Data Mesh
        • External Search Index
        • Historical Data, Data Archiving
      • Evolutions
      • Summary
    • Backends for Frontends (BFF)
      • Performance
      • Dependencies
      • Applicability
      • Relations
      • Variants
        • Proxies
        • Orchestrators
        • Proxy + Orchestrator pairs
        • API Gateways
        • Event Mediators
      • Evolutions
      • Summary
    • Service-Oriented Architecture (SOA)
      • Performance
      • Dependencies
      • Applicability
      • Relations
      • Examples
        • Distributed Monolith
        • Enterprise SOA
        • Domain-Oriented Microservice Architecture (DOMA)
        • (misapplied) Automotive SOA
        • Nanoservices
      • Evolutions
      • Summary
    • Hierarchy
      • Performance
      • Dependencies
      • Applicability
      • Relations
      • Variants by structure (may vary per node)
        • Polymorphic children
        • Functionally distinct children
      • Variants by direction
        • Top-Down Hierarchy: Orchestrator of Orchestrators, Presentation-Abstraction-Control (PAC), Hierarchical Model-View-Controller (HMVC)
        • Bottom-Up Hierarchy: Bus of Buses, Network of Networks, Hierarchical Middleware
        • In-Depth Hierarchy: Cell-Based (Microservice) Architecture (WSO2 version), Segmented Microservice Architecture, Services of Services, Clusters of Services
      • Evolutions
      • Summary
  • Part 5. Implementation metapatterns
    • Plugins
      • Performance
      • Dependencies
      • Applicability
      • Relations
      • Variants
        • By the direction of communication
        • By linkage
        • By granularity
        • By the number of instances
        • By execution mode
      • Examples
        • True Plugin (or Plug-in)
        • Ambassador Plugin, Logic Extension
        • Extension
        • Addin (or Add-in)
        • (inexact) Addon (or Add-on)
      • Summary
    • Hexagonal Architecture
      • Performance
      • Dependencies
      • Applicability
      • Relations
      • Variants by placement of adapters
        • Adapters on the external component side
        • Adapters on the core side
      • Variants by encapsulation
        • Upper half: Separated Presentation, Open Host Service
        • Lower half: Pedestal, Abstraction Layer, Anticorruption Layer
        • Full encapsulation: Ports and Adapters
      • Examples
        • Model-View-Presenter (MVP), Model-View-Adapter (MVA), Model-View-ViewModel (MVVM), Model 1 (MVC1), Document-View
        • Model-View-Controller (MVC), Action-Domain-Responder (ADR), Resource-Method-Representation (RMR), Model 2 (MVC2), Game Development Engine
        • Pedestal
        • Ports and Adapters, Hexagonal Architecture
        • DDD-Style Hexagonal Architecture, Onion Architecture, Clean Architecture
        • Cell, Cluster, Domain
      • Summary
    • Microkernel
      • Performance
      • Dependencies
      • Applicability
      • Relations
      • Examples
        • Operating System
        • Software Framework, Pluggable Component Framework
        • Virtualizer, Hypervisor, Container Orchestrator, Distributed Runtime
        • Interpreter, Script, Domain-Specific Language (DSL)
        • Configurator, Configuration File
        • Saga Engine
        • AUTOSAR Classic Platform
      • Summary
    • Mesh
      • Performance
      • Dependencies
      • Applicability
      • Relations
      • Variants
        • By structure
        • By connectivity
        • By the number of mesh layers
      • Examples
        • Peer-to-Peer Networks
        • Leaf-Spine Architecture, Spine-Leaf Architecture
        • Actors
        • Service Mesh
        • Space-Based Architecture
      • Summary
  • Part 6. Analytics
    • Comparison of architectural patterns
      • Sharing functionality or data among services
        • Direct call
        • Make a dedicated service
        • Delegate the aspect
        • Replicate it
        • Summary
      • Pipelines in architectural patterns
        • Pipes and Filters
        • Choreographed Event-Driven Architecture
        • Command Query Responsibility Segregation (CQRS)
        • Model-View-Controller (MVC)
        • Summary
      • Dependency inversion in architectural patterns
        • Patterns that build around it
        • Patterns that often rely on it
        • Patterns that may use it
        • Summary
      • Indirection in commands and queries
        • Command (OLTP) systems
        • Query (OLAP) systems
        • A mixed case
        • Summary
    • Ambiguous patterns
      • Monolith
      • Reactor
      • Microkernel
      • Domain Services
      • Service-Based Architecture
      • Front Controller
      • Cells
      • Nanoservices
      • Summary
    • Architecture and product life cycle
      • Infancy (proof of concept) – Monolith
      • Childhood (prototype) – Layers
      • Youth (development of features) – fragmented architectures
      • Adulthood (production) – ad-hoc composition
      • Old age (support) – back to Layers
      • Death (the ultimate release) – Monolith
      • So it goes
      • Going back in time
    • Real-world inspirations for architectural patterns
      • Basic metapatterns
        • Monolith
        • Shards
        • Layers
        • Services
        • Pipeline
      • Extension metapatterns
        • Middleware
        • Shared Repository
        • Proxy
        • Orchestrator
        • Sandwich
      • Fragmented metapatterns
        • Polyglot Persistence
        • Backends for Frontends
        • Service-Oriented Architecture
        • Hierarchy
      • Implementation metapatterns
        • Plugins
        • Hexagonal Architecture
        • Microkernel
        • Mesh
      • Summary
    • The heart of software architecture
      • Cohesers and decouplers
        • Code structure and the level of pain
        • Building a hierarchy
        • Bidirectional forces
        • Cohesers
        • Decouplers
        • Expansion and contraction
      • Deconstructing patterns
        • SOLID principles
        • Gang of Four patterns
        • Architectural metapatterns
      • Choose your own architecture
        • Project size
        • Domain features
        • Runtime performance
        • Flexibility
        • Every domain is unique
        • So it goes
  • Part 7. Appendices
    • Appendix A. Acknowledgements.
    • Appendix B. Books referenced.
    • Appendix C. Copyright.
      • Attribution 4.0 International
        • Section 1 – Definitions.
        • Section 2 – Scope.
        • Section 3 – License Conditions.
        • Section 4 – Sui Generis Database Rights.
        • Section 5 – Disclaimer of Warranties and Limitation of Liability.
        • Section 6 – Term and Termination.
        • Section 7 – Other Terms and Conditions.
        • Section 8 – Interpretation.
    • Appendix D. Disclaimer.
    • Appendix E. Evolutions of architectures.
      • Evolutions of a Monolith that lead to Shards
        • Implement a Mesh of self-managed shards
        • Split the data into isolated shards and add a Sharding Proxy
        • Separate the data layer and add a Load Balancer
        • Dedicate an instance to each client
        • Further steps
      • Evolutions of a Monolith that result in Layers
        • Divide into Layers
        • Use a database
        • Add a Proxy
        • Add an Orchestrator
        • Further steps
      • Evolutions of a Monolith that make Services
        • Divide into Services
        • Add or split a service
        • Divide into a Pipeline
        • Further steps
      • Evolutions of a Monolith that rely on Plugins
        • Support plugins
        • Isolate dependencies with Hexagonal Architecture
        • Add an Interpreter (support Scripts)
      • Evolutions of Shards that share data
        • Move all the data to a Shared Repository
        • Use Space-Based Architecture
        • Use a Shared Repository for the coupled subset of data
        • Split a service with the coupled data
      • Evolutions of Shards that share logic
        • Add a Middleware
        • Add a Sharding Proxy
        • Move the integration logic into an Orchestrator
      • Evolutions of Layers that make more layers
        • Split the business logic into two layers
      • Evolutions of Layers that help large projects
        • Divide the domain layer into Services
        • Build an Event-Driven Architecture over a Shared Database
        • Build a Top-Down Hierarchy
      • Evolutions of Layers to improve performance
        • Merge several layers
        • Scale individual layers
        • Use multiple databases
      • Evolutions of Layers to gain flexibility
        • Divide the orchestration layer into Backends for Frontends
      • Evolutions of Services that restructure services
        • Add or split a service
        • Merge services
        • Cluster services
      • Evolutions of Services that add layers
        • Add a Middleware
        • Use a Service Mesh
        • Use a Shared Repository
        • Add a Proxy
        • Use an Orchestrator
        • Make a Sandwich
      • Evolutions of a Pipeline
        • Promote a service to Front Controller
        • Add an Orchestrator
      • Evolutions of a Middleware
        • Add a secondary Middleware
        • Merge two systems by building a Bottom-Up Hierarchy
      • Evolutions of a Shared Repository
        • Shard the database
        • Use Space-Based Architecture
        • Move the data to private databases of services
        • Deploy specialized databases
      • Evolutions of a Proxy
        • Add another Proxy
        • Deploy a Proxy per client type
      • Evolutions of an Orchestrator
        • Subdivide to form Layered Services
        • Subdivide to form Backends for Frontends
        • Add a layer of orchestration
        • Form a Hierarchy
      • Evolutions of a Sandwich
        • Add or remove a domain-level service
        • Split or merge domain-level services
        • Merge all the domain-level services together
        • Subdivide both shared layers
    • Appendix F. Format of a metapattern.
      • Diagram
      • Abstract
      • Performance
      • Dependencies
      • Applicability
      • Relations
      • Variants and examples
      • Evolutions
    • Appendix G. Glossary.
    • Appendix H. History of changes.
    • Appendix I. Index of patterns.

Leanpub 无条件、零风险的100%满意保证

支付后的60天内,只需简单点击两下,您便可以退书并且取回先前支付的全部金额。退款是手动处理的,因此可能需要几天时间来完成整个流程。
查看完整条款

在10美元的购买中赚取8美元,在20美元的购买中赚取16美元

我们在7.99美元或以上的购买中支付80%的版税,在0.99美元到7.98美元之间的购买中支付80%的版税减去0.5美元固定费用在10美元的销售中您可赚取8美元,在20美元的销售中可赚取16美元。因此,如果我们以20美元的价格售出5000本未退款的图书,您将赚取80,000美元

(是的,一些作者在Leanpub上已经赚取了远超过这个数额的收入。)

事实上,作者们通过在Leanpub上写作、出版和销售已经赚取了超过1400万美元

了解更多关于在Leanpub上写作的信息

免费更新。无DRM。

如果你购买了Leanpub的书,只要作者更新这本书,你就可以免费获得更新!许多作者使用Leanpub在他们编写书籍的过程中发布他们的作品。所有读者都可以获得免费更新,无论他们何时购买的书或他们支付了多少钱(包括免费)。

大多数Leanpub书籍都提供PDF(适用于计算机)、EPUB(适用于手机和平板电脑)和MOBI(适用于Kindle)格式。书籍包含的格式会显示在此页面的右上角。

最后,Leanpub的书籍没有任何DRM版权保护的限制,所以你可以轻松地在任何支持的设备上阅读它们。

了解更多关于Leanpub的电子书格式以及在哪里阅读它们

在 Leanpub 上写作和出版

作者与出版社使用 Leanpub 来出版正在写作中和已完成的书籍,就像这本书一样。你也可以使用 Leanpub 来撰写、出版和销售你的作品!Leanpub 是功能强大的平台,非常适合认真的作者。它结合了简单、优雅的写作与出版流程,以及一个可销售正在写作中的电子书的线上商店。Leanpub 是作家的神奇之笔:只需编写纯文本,然后点击按钮即可出版你的电子书。真的就是这么简单。

学习更多关于在 Leanpub 上写作的信息