Skip to Content
ロバストPython ―クリーンで保守しやすいコードを書く
book

ロバストPython ―クリーンで保守しやすいコードを書く

by Patrick Viafore, 鈴木 駿, 長尾 高弘
March 2023
Intermediate to advanced
384 pages
5h 30m
Japanese
O'Reilly Japan, Inc.
Content preview from ロバストPython ―クリーンで保守しやすいコードを書く

18章イベント駆動アーキテクチャ

拡張性はコードベースのどのレベルでも重要だ。コードのレベルでは関数やクラスに柔軟性を持たせるために拡張性を取り込む。抽象のレベルではコードベースのアーキテクチャで同じ原則を適用する。アーキテクチャとは、ソフトウェアの設計方法を支配する高レベルのまとまったガイドラインと制約のことである。現在、過去、未来のすべての開発者に影響を与えるビジョンだ。これからの2章では、保守性を向上させるアーキテクチャの例を2つ示す。第Ⅲ部で学んできたことはすべてアーキテクチャにも当てはまる。優れたアーキテクチャは、依存関係をうまく管理し、拡張性とコンポーザビリティを向上させる。

この章では、イベント駆動アーキテクチャについて学ぶ。イベント駆動アーキテクチャは、イベント、すなわちシステム内の通知を中心に据える。コードベースを切り離し、新機能の追加やパフォーマンス向上のためにシステムを拡張するすばらしい方法である。イベント駆動アーキテクチャに従えば、既存システムへの影響を最小限に抑えながら新機能を簡単に導入できる。まず、イベント駆動アーキテクチャがもたらす柔軟性について説明する。次に、単純イベントとストリーミングイベントという2種類のイベント駆動アーキテクチャを説明する。両者はよく似ているが、微妙に異なるので使い分けることになる。

18.1 仕組み

イベント駆動アーキテクチャに焦点を当てると、刺激に対する反応を中心に展開することがわかる。キッチンタイマーが鳴ったらオーブンから鍋を外すとか、スマートフォンへの通知が届いたら玄関のドアを開けて配達された料理を受け取るといった刺激への反応に終始する。イベント駆動アーキテクチャでは、このモデルを表現するようにコードを設計する。イベントプロデューサ ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Rustの練習帳 ―コマンドラインツールの作成を通してRustを学ぶ

Rustの練習帳 ―コマンドラインツールの作成を通してRustを学ぶ

Ken Youens-Clark, 中山 光樹
scikit-learn、Keras、TensorFlowによる実践機械学習 第2版

scikit-learn、Keras、TensorFlowによる実践機械学習 第2版

Aurélien Géron, 下田 倫大, 長尾 高弘
Node.jsデザインパターン 第2版

Node.jsデザインパターン 第2版

Mario Casciaro, Luciano Mammino, 武舎 広幸, 阿部 和也
サイトリライアビリティワークブック ―SREの実践方法

サイトリライアビリティワークブック ―SREの実践方法

Betsy Beyer, Niall Richard Murphy, David K. Rensin, Kent Kawahara, Stephen Thorne, 澤田 武男, 関根 達夫, 細川 一茂, 矢吹 大輔, 玉川 竜司

Publisher Resources

ISBN: 9784814400171Other