ソフトウェア開発における設計の本質

すべてのソフトウェア開発で通用する、高度な設計スキルを Android アプリ開発を通して解説します。 自分の書いたプログラムに「何か違和感がある」と感じることが多い人は、ぜひ読んでみてください。その違和感の正体を言語化し、設計の視点として整理していきます。 単にベストプラクティスを踏襲する設計者ではなく、状況に応じて、自分でベストな設計を考えられるようになります。その結果、コードの構造は自然と整理されていきます。 人に依存した設計ではなく、構造に依存した設計にすることで、壊したくても壊せない「堅牢なソフトウェア」に導く本質を解説しています。

September 20, 2025 · 1 分 · 奥田 智紘

判断から始めるソフトウェア設計

設計がうまくいかない現場では、構造や技術よりも先に「判断」が見えなくなっていることが多い。本書は、モノリスや設計不良を単なる実装の問題としてではなく、「どの判断が、どこで、なぜ行われているのか」という視点から捉え直す。 判断を見つけ、切り出し、名前をつけ、動かし、変化を追い、そして説明できるようにする。 設計をセンスや経験則に頼らず、再現可能な思考として身に付けたいエンジニア、テックリードのための一冊。

November 10, 2025 · 1 分 · 奥田 智紘

判断を閉じ込める設計

設計とは、きれいな構造や流行のパターンを選ぶことではない。本書が一貫して問い続けるのは、「どこに判断を閉じ込めるか」という視点だ。 要件は変わり、前提は崩れ、設計は必ず外れる。その現実を前提に、判断をコードに残し、強さを選び、チームで共有できる状態をつくる。 本書は、正解を当てる設計ではなく、選び直せる設計を目指すすべてのエンジニアに向けた、実践的な思考の記録である。

December 15, 2025 · 1 分 · 奥田 智紘

ドメイン駆動設計(DDD)の捉え方

本書は、ドメイン駆動設計(DDD)とは何かを知らない人にとっては、入門として読むことができる一冊です。ただし、設計における「判断」や「責務」という考え方にまだ触れたことがない段階で読むには、少し早い内容でもあります。 本書が焦点を当てているのは、Entity や Value Object といった用語の使い分けそのものではなく、設計判断の背景にある考え方です。 DDDの本を読んでみたものの、「結局DDDとは何なのか」「なぜこれが必要なのか」が腹落ちしなかった人に向けて、DDDの本質に絞って整理しています。 また、モデルやEntityといった言葉の定義を探し回り、はっきりした答えが見つからずにもやっとしてきた人にとっても、本書は一つの視点を与えるはずです。

January 10, 2026 · 1 分 · 奥田 智紘

Android × DDD

本書は、Android アプリ開発において DDD(ドメイン駆動設計)を 「そのまま適用する」ことを目的とした本ではありません。 UI・データ・ドメインが混ざりやすい Android の文脈で、 どこに判断を置き、どこを後から変えられるようにするか。 その設計判断の軸を整理することを目的としています。 レイヤー構成や用語の暗記ではなく、 「なぜここに境界を引いたのか」「なぜ今は決めないのか」を 説明できる設計を重視します。 UseCase 地獄、過剰な抽象化、DI の誤解といった Android × DDD で起こりやすいすれ違いにも触れながら、 小さなアプリを題材に、判断が積み重なっていく過程を追います。 DDD を Android アプリにどう適用していくか について考えたい人に向けた一冊となっています。

February 18, 2026 · 1 分 · 奥田 智紘