Advertisement
Guest User

Untitled

a guest
Oct 16th, 2019
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.80 KB | None | 0 0
  1. # 第I部 イントロダクション
  2. ## 第1章 設計とアーキテクチャ
  3. - 崩れたまま大きくしようとすると効率も悪いしコストもかかるし良いことないよね、ちゃんと向き合おうね
  4.  
  5. ## 第2章 2つの価値のお話
  6. ### 振る舞い
  7. ### アーキテクチャ
  8. - ソフトウェアとハードウェア
  9. - ハードウェアは振る舞いをかんたんには変えたくないからハード
  10. - ソフトウェアは柔軟に振る舞いを変更できなくてはいけない
  11.  
  12. ### 大きな価値
  13. ### アイゼンハワーのマトリックス
  14. - 「緊急」と「重要」は違う
  15. - コードのアーキテクチャ = 重要
  16. - コードの振る舞い = 緊急
  17. - アーキテクチャの重要性を伝えるためにソフトウェア開発者がいる
  18.  
  19. ### アーキテクチャの戦い
  20. - これは闘争なのだ!
  21.  
  22. # 第II部 構成要素から始めよ:プログラミングパラダイム
  23. ## 第3章 パラダイムの概要
  24. ### 構造化プログラミング
  25. ### オブジェクト指向プログラミング
  26. ### 関数型プログラミング
  27. ### 考えるべきこと
  28. - 上記 3 つのパラダイムは私達から「goto文」「関数ポインタ」「代入」を奪っている
  29.  
  30. ### まとめ
  31. - 上記 3 つのパラダイムは、アーキテクチャの大きな関心事である「コンポーネントの分離」「データ管理」「機能」に関連していることである
  32.  
  33. ## 第4章 構造化プログラミング
  34. ### 証明
  35. ### 有害宣言
  36. ### 機能分割
  37. ### 正式に証明できない
  38. ### 救済のための科学
  39. ### テスト
  40. ### まとめ
  41.  
  42. ## 第5章 オブジェクト指向プログラミング
  43. ### カプセル化とは?
  44. ### 継承とは?
  45. ### ポリモーフィズムとは?
  46. ### まとめ
  47.  
  48. ## 第6章 関数型プログラミング
  49. ### 整数の二乗
  50. ### 不変性とアーキテクチャ
  51. ### 可変性の分離
  52. ### イベントソーシング
  53. ### まとめ
  54. # 第III部 設計の原則
  55. ## 第7章 SRP:単一責任の原則
  56. ### 症例1:想定外の重複
  57. ### 症例2:マージ
  58. ### 解決策
  59. ### まとめ
  60. ## 第8章 OCP:オープン・クローズドの原則
  61. ### 思考実験
  62. ### 方向の制御
  63. ### 情報隠蔽
  64. ### まとめ
  65. ## 第9章 LSP:リスコフの置換原則
  66. ### 継承の使い方の指針
  67. ### 正方形・長方形問題
  68. ### リスコフの置換原則(LSP)とアーキテクチャ
  69. ### リスコフの置換原則(LSP)違反の例
  70. ### まとめ
  71. ## 第10章 ISP:インターフェイス分離の原則
  72. ### インターフェイス分離の原則(ISP)と言語との関係
  73. ### インターフェイス分離の原則(ISP)とアーキテクチャとの関係
  74. ### まとめ
  75. ## 第11章 DIP:依存関係逆転の原則
  76. ### 安定した抽象
  77. ### Factory
  78. ### 具象コンポーネント
  79. ### まとめ
  80. # 第IV部 コンポーネントの原則
  81. ## 第12章 コンポーネント
  82. ### コンポーネントの簡単な歴史
  83. ### リロケータビリティ(再配置可能性)
  84. ### リンカ
  85. ### まとめ
  86. ## 第13章 コンポーネントの凝集性
  87. ### 再利用・リリース等価の原則(REP)
  88. ### 閉鎖性共通の原則(CCP)
  89. ### 全再利用の原則(CRP)
  90. ### コンポーネントの凝集性のテンション図
  91. ### まとめ
  92. ## 第14章 コンポーネントの結合
  93. ### 非循環依存関係の原則(ADP)
  94. ### トップダウンの設計
  95. ### 安定依存の原則(SDP)
  96. ### 安定度・抽象度等価の原則(SAP)
  97. ### まとめ
  98. # 第V部 アーキテクチャ
  99. ## 第15章 アーキテクチャとは?
  100. ### 開発
  101. ### デプロイ
  102. ### 運用
  103. ### 保守
  104. ### 選択肢を残しておく
  105. ### デバイス非依存
  106. ### ダイレクトメール
  107. ### 物理アドレス
  108. ### まとめ
  109. ## 第16章 独立性
  110. ### ユースケース
  111. ### 運用
  112. ### 開発
  113. ### デプロイ
  114. ### 選択肢を残しておく
  115. ### レイヤーの切り離し
  116. ### ユースケースの切り離し
  117. ### 切り離し方式
  118. ### 独立した開発が可能
  119. ### 独立デプロイ可能性
  120. ### 重複
  121. ### 切り離し方式(再び)
  122. ### まとめ
  123. ## 第17章 バウンダリー:境界線を引く
  124. ### 結合の悲しい物語
  125. ### FitNesse
  126. ### あなたの境界線は何か? いつ境界線を引くのか?
  127. ### 入力と出力はどうする?
  128. ### プラグインアーキテクチャ
  129. ### プラグインの戦い
  130. ### まとめ
  131. ## 第18章 境界の解剖学
  132. ### 境界を越える
  133. ### 恐怖のモノリス
  134. ### デプロイコンポーネント
  135. ### スレッド
  136. ### ローカルプロセス
  137. ### サービス
  138. ### まとめ
  139. ## 第19章 方針とレベル
  140. ### レベル
  141. ### まとめ
  142. ## 第20章 ビジネスルール
  143. ### エンティティ
  144. ### ユースケース
  145. ### リクエストとレスポンスのモデル
  146. ### まとめ
  147. ## 第21章 叫ぶアーキテクチャ
  148. ### アーキテクチャのテーマ
  149. ### アーキテクチャの目的
  150. ### だが、ウェブはどうか?
  151. ### フレームワークはツールであり、生き方ではない
  152. ### テスト可能なアーキテクチャ
  153. ### まとめ
  154. ## 第22章 クリーンアーキテクチャ
  155. ### 依存性のルール
  156. ### 典型的なシナリオ
  157. ### まとめ
  158. ## 第23章 プレゼンターとHumble Object
  159. ### Humble Objectパターン
  160. ### プレゼンターとビュー
  161. ### テストとアーキテクチャ
  162. ### データベースゲートウェイ
  163. ### データマッパー
  164. ### サービスリスナー
  165. ### まとめ
  166. ## 第24章 部分的な境界
  167. ### 最後のステップを省略する
  168. ### 片方だけの境界
  169. ### Facade
  170. ### まとめ
  171. ## 第25章 レイヤーと境界
  172. ### Hunt the Wumpus
  173. ### クリーンアーキテクチャ?
  174. ### 流れを横切る
  175. ### 流れを分割する
  176. ### まとめ
  177. ## 第26章 メインコンポーネント
  178. ### 究極的な詳細
  179. ### まとめ
  180. ## 第27章 サービス:あらゆる存在
  181. ### サービスアーキテクチャ?
  182. ### サービスのメリット?
  183. ### 子猫の問題
  184. ### 救世主のオブジェクト
  185. ### コンポーネントベースのサービス
  186. ### 横断的関心事
  187. ### まとめ
  188. ## 第28章 テスト境界
  189. ### システムコンポーネントとしてのテスト
  190. ### テスト容易性のための設計
  191. ### テストAPI
  192. ### まとめ
  193. ## 第29章 クリーン組込みアーキテクチャ
  194. ### 適性テスト
  195. ### ターゲットハードウェアのボトルネック
  196. ### まとめ
  197. # 第VI部 詳細
  198. ## 第30章 データベースは詳細
  199. ### リレーショナルデータベース
  200. ### なぜデータベースシステムが普及しているのか?
  201. ### もしもディスクがなかったら?
  202. ### 詳細
  203. ### だけど、パフォーマンスはどうなの?
  204. ### 小話
  205. ### まとめ
  206. ## 第31章 ウェブは詳細
  207. ### 止まらない振り子
  208. ### 結論
  209. ### まとめ
  210. ## 第32章 フレームワークは詳細
  211. ### フレームワークの作者たち
  212. ### 一方的な結婚
  213. ### リスク
  214. ### 解決策
  215. ### 今あなたたちを夫婦として宣言する
  216. ### まとめ
  217. ## 第33章 事例:動画販売サイト
  218. ### プロダクト
  219. ### ユースケース分析
  220. ### コンポーネントアーキテクチャ
  221. ### 依存性管理
  222. ### まとめ
  223. ## 第34章 書き残したこと
  224. ### レイヤーによるパッケージング
  225. ### 機能によるパッケージング
  226. ### ポートとアダプター
  227. ### コンポーネントによるパッケージング
  228. ### 悪魔は実装の詳細に宿る
  229. ### 組織化かカプセル化か
  230. ### そのほかの分割方法
  231. ### まとめ:言い残したこと
  232. # 第VII部 付録
  233. ## 付録A アーキテクチャ考古学
  234. ### 組合の会計システム
  235. ### レーザーカット
  236. ### アルミダイキャストの監視
  237. ### 4-Tel
  238. ### サービスエリアコンピュータ
  239. ### C言語
  240. ### BOSS
  241. ### pCCU
  242. ### DLU/DRU
  243. ### VRS
  244. ### 電子受付
  245. ### 転送システムの作成
  246. ### 明確なコミュニケーション
  247. ### ROSE
  248. ### アーキテクト登録試験
  249. ### まとめ
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement