クリーンアーキテクチャ
2018-10-31 (Wed) · 237 words

Robert C. Martin

クリーンアーキテクチャ

クリーンアーキテクチャにおける方針 ビジネスロジックの明確化 フレームワークからの独立 外界との独立(ストアからの独立、UIからの独立)

イントロダクション

アーキテクチャ

設計とアーキテクチャ

数値で見る崩壊とエンジニアの給料

価値

ソフトウェアアーキテクト

ポリモーフィズムの利点=依存関係逆転の原則

関数型プログラミング

SOLID

SRP (Single Responsibilty Principle) 単一責任の原則

class EmployeeFacade {
  def calculatePay = (new PayCalculator).calculatePay
  def reportHours = (new HourReporter).reportHours
  def save = (new EmployeeSaver).saveEmployee
}

class PayCalculator { def calculatePay = ??? // EmployeeData }
class HourReporter { def reportHours = ??? // EmployeeData }
class EmployeeSaver { def saveEmployee = ??? // EmployeeData }

class EmployeeData {}
// データを内部にもつFacade
class EmployeeFacade {
  val employData: EmployeeData = new EmployeeData()
  def calculatePay = (new PayCalculator).calculatePay
  def reportHours = (new HourReporter).reportHours
  def save = ???
}

class PayCalculator { def calculatePay = ??? // EmployeeData }
class HourReporter { def reportHours = ??? // EmployeeData }

class EmployeeData {}

OCP (Open-Closed Principle) オープン・クローズドの原則

LSP (Liskov Substitution Principle) リスコフの置換原則

ISP (Interface Segregation Principle) インタフェース分離の原則

DIP (Dependency Inversion Principle) 依存関係逆転の原則


Top     back     Posts     Tags     About Me