技術書典9で"パッケージ設計"に関する書籍を販売します

技術書典9で"パッケージ設計"に関する書籍を販売します。

techbookfest.org

どんな書籍なのか?

一言でいうとパッケージ設計(モジュール設計)に関する書籍です。

自分は以前以下の書籍を書きました。 pospome.booth.pm

この書籍ではMVCからクリーンアーキテクチャまで網羅的にレイヤ構造を説明したり、 今でいう"モジュラモノリス"っぽい実装を紹介したり、 実装において比較的パターン化しやすい部分を取り上げました。 しかし、実際にコードを書く場合、"パターン化しづらい部分をいかに上手く実装するか"が重要になってきます。 例えばレイヤ構造を採用したアプリケーションでは、レイヤに沿ったパッケージ構成そのものよりも各レイヤ内をいかに上手く実装するかが重要です。

そこで、今回販売する書籍では特定の実装パターンではなく"パッケージ設計(モジュール設計)"という比較的抽象度の高い領域における基礎的な観点についてまとめています。 サンプルコードがGo言語ということもあり、Go言語の言語仕様に沿っています。 なので、正確には"Go言語のパッケージ設計"に関する書籍です。 ただ、他の言語でも参考になる部分はあると思うので(インターフェースの章とか)、 Go言語に触ったことがない方も興味があれば手にとっていただけると嬉しいです。

書籍のナンバリングについて

今回販売する書籍は"pospomeのサーバサイドアーキテクチャ4"というタイトルになっています。 "4"というナンバリングをしてはいますが、今までのナンバリングである1,2,3との関連性はありません。 単にposopmeが毎回タイトルを考えるのが面倒なので、インクリメントしているだけです。 そのため、今回の書籍も単純にパッケージ設計に興味のある方であれば楽しめる内容になっているかと思います。

ページ数と価格

ページ数は49ページです。 価格は1000円です。

技術書典後にBOOTHで販売しますが価格は上げます

BOOTHで販売する際の書籍の価格についてですが、1000円から500円上げて1500円にする予定です。 技術書典で本書を購入すると結果的に500円得することになるので、 その500円で技術書典で気になった他の書籍も購入していただけるとよいかなと思っています。

目次

目次は以下です。 直前まで修正するためページ数は増減することがあります。

第1章 本質的な設計スキル ... 7

第2章 Goで学ぶパッケージ設計の基本 ... 8
    2.1 パッケージが持つ責務の抽象度
    2.2 実装の種類
    2.3 ファイル vs パッケージ
    2.4 パッケージの大きさ
    2.5 循環参照の解消
    2.6 パッケージ名
    2.7 パッケージ名の重複

第3章 Goで学ぶインターフェースと実装の配置 ... 29
    3.1 同じパッケージに配置するパターン
    3.2 インターフェースと実装を同じパッケージに配置することによって発生する問題
    3.3 異なるパッケージに配置するパターン
    3.4 インターフェースとデフォルト実装
    3.5 インターフェースと実装の階層
    3.6 パッケージ安定性のコントロール

第4章 パッケージの依存関係に対する筆者の考え ... 45
    4.1 開発対象独自の実装と横断的関心事に対する実装
    4.2 親子関係
    4.3 調整役

その他の宣伝

エンジニアを募集しているので興味あれば連絡ください。