mike-neckのブログ

JavaかJavaFXかJavaEE(なんかJava8が多め)

クリーンアーキテクチャー

クリーンアーキテクチャーの読書メモ(8)

§9 LSP: リスコフの置換原則 1988年 Barbara Liskov S 型のオブジェクト o1 の各々に、対応する T 型のオブジェクト o2 が 1 つ存在し、 T を使って定義されたプログラム P に対して o2 の代わりに o1 を使っても P の振る舞いが変わらない場合、 S は T の…

クリーンアーキテクチャーの読書メモ(7)

§8 OCP: オープン・クローズドの原則 1988年 Bertrand Meyer ソフトウェアの構成要素は拡張に対しては開いていて、修正に対しては閉じていなければならない(『アジャイルソフトウェア開発の奥義』) = ソフトウェアの振る舞いは既存の成果物を変更せずに拡張…

クリーンアーキテクチャーの読書メモ(6)

第三部 設計の原則 クリーンなコードを書くための原則「SOLID 原則」 変更に強い中間レベルのソフトウェア構造 理解しやすい中間レベルのソフトウェア構造 コンポーネントの基盤として、多くのソフトウェアシステムで利用できる中間レベルのソフトウェア構造…

クリーンアーキテクチャーの読書メモ(5)

§6 関数型プログラミング プログラミング以前から存在する(1930年代の Alonzo Church のラムダ計算) 関数型言語の変数は変化しない 並行処理の問題は可変変数がなければ発生しない 変数が変更するコンポーネントと不変のコンポーネントを分離して、可変コン…

クリーンアーキテクチャーの読書メモ(4)

§5 オブジェクト指向プログラミング オブジェクト指向設計とは何でないか 関数とデータの組み合わせ o.f() vs f(o) - オブジェクト指向が生まれる前からやってる 現実の世界をモデル化 - 何を言っているんだお前は カプセル化 境界線の外からはデータが見え…

クリーンアーキテクチャーの読書メモ(3)

第二部 プログラミングパラダイム パラダイム ≒ プログラミングの方法 3つのプログラミングパラダイム §3 パラダイムの概要 3つのプログラミングパラダイム 構造化プログラミング オブジェクト指向プログラミング 関数型プログラミング パラダイムのやってい…

クリーンアーキテクチャーの読書メモ(2)

表題の通り §2 2つの価値 プログラマーがステークホルダーに提供する2つの価値 振る舞い 構造 振る舞い 多くのプログラマーが価値だと思いこんでいるもの 機能仕様書とか要求文書とか 構造 = アーキテクチャー 振る舞い = ソフトウェアを簡単に変更できる手…

クリーンアーキテクチャーの読書メモ(1)

以前からちょっとずつ読んでいたけど、そのまとめメモ このメモもちょっとずつ更新予定 Clean Architecture 第一部 イントロダクション 正しいソフトウェア 少ない人数でソフトウェアを動かせる 少ない人数で保守・開発できる §1 設計とアーキテクチャ 設計…