0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Clean Architecture -Robert C Martin- 中間メモ

Posted at

はじめに

直近、rustを勉強してた際にプログラミングのそもそもについて調べてました。そこでこの本を見つけて読みました。
役に立ちそうな内容だったのでメモ書き程度で残したいと思います。

Architecture設計の目的

ゴールとしてビルド、メンテナンスに必要な人的リソースを最小限に抑えます。
根拠として用いられた図

  • Growth of the engineering staff
  • Productivity over the same period of time
  • Cost per line of code over time
  • Productivity by release
  • Monthly development payroll by release
  • Time to completion by iterations and use/non-use of TDD

>各図式を通してArchitectureの必要性を挙げている。

プログラミングパラダイム

  1. Structured-Programming:Structured programming imposes discipline on direct transfer of control.
  2. OOP(object-oriented):Object-oriented programming imposes discipline on indirect transfer of control.
  3. Functional-Programming:Functional programming imposes discipline upon assignment.

設計原則(SOLID)

  1. SRP:A module should be responsible to one, and only one, actor.
  2. OCP:A software artifact should be open for extension but closed for modification.
  3. LSP:Liskov Substitution Principle(INHERITANCE)
  4. ISP:Interface Segregation Principle
  5. DIP:Dependency Inversion Principle(ABSTRACTIONS, FACTORIES)

>Low-Level Principle.

コンポーネント原則

  1. REP:The Reuse/Release Equivalence Principle
  2. CCP:The Common Closure Principle
  3. CRP:The Common Reuse Principle

>High-Level Principle.

Architecture abstract static matrix

• I: Instability: I = Fan-out , (Fan-in + Fan-out).

• Nc: The number of classes in the component.
• Na: The number of abstract classes and interfaces in the component.
• A: Abstractness. A = Na ÷ Nc.

• D: Distance. D = |A+I–1|

>Target Architecture measture method.

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?