ソフトウェア原則マップ

概念

  • ソフトウェアプロセスモデル
  • Functional Core, Imperative Shell
  • 純粋関数(Pure Function)
  • 型駆動設計(Type-Driven Design)
  • Railway-Oriented Programming(鉄道指向プログラミング)
  • このサイトのアーキテクチャ
  • 区分オブジェクト
  • ドメインオブジェクトへの業務ロジック集約
  • ファーストクラスコレクション(コレクションオブジェクト)
  • 値オブジェクト(Value Object)

パターン

  • 三層分離パターン(ドメイン・アプリケーション・インフラストラクチャ)
  • 薄いサービス層パターン(Application Service)

アンチパターン

  • プリミティブ執着(Primitive Obsession)
  • 状態フラグ・汎用テーブルのアンチパターン

ルール

  • 不正な状態を型で表現不可能にする
  • 設計はドメインモデルから始める
  • 業務ロジックはドメインオブジェクトに書く

スキル

  • 本から概念を抽出する
  • Gensparkで自社ブランドスライドを自動生成する
  • 段階的リファクタリング戦略
  • ドメインモデル抽出スキル