Skip to Content
C++ソフトウェア設計 ―高品質設計の原則とデザインパターン
book

C++ソフトウェア設計 ―高品質設計の原則とデザインパターン

by Klaus Iglberger, 千住 治郎
October 2023
Intermediate to advanced
408 pages
6h 37m
Japanese
O'Reilly Japan, Inc.
Content preview from C++ソフトウェア設計 ―高品質設計の原則とデザインパターン

2章抽象化の技

抽象化はソフトウェア設計とソフトウェアアーキテクチャにおいて、非常に重要な役割を果たします。複雑さを管理する鍵とも言えます。抽象化なくしては、良い設計や正しいアーキテクチャなど考えるのも困難です。それでいて良質な抽象化や、上手に使いこなすのは驚くほど難しいのです。蓋を開けてみると、抽象化の構築と使用は分かりにくい部分が多くあり、科学 (sci­ence) というよりも芸術 (達人技、妙技、art) と呼ぶにふさわしいものです。本章では抽象化とその技について詳細に解説します。

ガイドライン 6」では、抽象化の目的を述べます。また、抽象化が要件や期待する動作を表現する点、および抽象化が期待する動作に従うのが重要である理由を解説します。設計の原則の 1 つ、リスコフの置換原則 (LSP、Liskov Sub­sti­tu­tion Prin­ci­ple) も紹介します。

ガイドライン 7」では、もっとも広く使用される抽象化である、基底クラスとコンセプトを比較します。両者の共通点である、期待する動作の表現という点を解説します。

ガイドライン 8」では、内容を抽象化の意味的な要件にまで拡大し、3 つ目の抽象化、関数オーバロードを取り上げます。オーバロードセットに含めた関数には期待される動作があり、そのため LSP に従わなければならない点を解説します。

ガイドライン 9」では、アーキテクチャにおける抽象化の意味を集中的に解説します。アーキテクチャとは何か、またアーキテクチャの上位、下位に期待されるものは何かを述べます。依存関係の解消には、アーキテクチャの観点から言えば、抽象化するだけでは不十分であることを示し、抽象化を用いたアーキテクチャを構築する上で重要な依存関係逆転の原則 ...

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

データベースリライアビリティエンジニアリング ―回復力のあるデータベースシステムの設計と運用

データベースリライアビリティエンジニアリング ―回復力のあるデータベースシステムの設計と運用

Laine Campbell, Charity Majors, 八木 和生

Publisher Resources

ISBN: 9784814400454Publisher Website