インターフェース分離の原則
32
<下位オブジェクト>
Method – A
Method - B
Method - C
<インターフェース>
Method – A
Method – B
Method – C
上位オブジェクト
上位オブジェクト
上位オブジェクト
実装を分離する (まだ不足)
Slide 34
Slide 34 text
インターフェース分離の原則
33
<下位オブジェクト>
Method – A
Method - B
Method - C
<インターフェース>
Method – A
<インターフェース>
Method – B
<インターフェース>
Method – C
上位オブジェクト
上位オブジェクト
上位オブジェクト
必要なものにだけ依存させる
依存関係逆転の原則
37
Main
Task
TaskRepository
例) Todoアプリ(タスクを登録してDBに格納する)
Class Task {
public Task(String todo) {
this.todo = todo;
}
public save() {
TaskRepository r = new TaskRepository();
r.save(this);
}
}
Slide 39
Slide 39 text
依存関係逆転の原則
38
Main
Task
TaskRepository
依存関係を外部から注入する
Class Task {
public Task(String todo, Repository repo) {
this.todo = todo;
this.repo = repo;
}
public save() {
r.save(this);
}
}
Repository