発表1行コード210613
2785 ワード
第10章クラス
単一責任の原則。
クラスまたはモジュールを変更する理由は1つだけです.
責任==変更理由
単一責任の原則を無視した例class Animal {
constructor(name: string){ }
getAnimalName() { }
saveAnimal(a: Animal) { }
}
単一責任の原則を遵守するように変更class Animal {
constructor(name: string){ }
getAnimalName() { }
}
class AnimalDB {
getAnimal(a: Animal) { }
saveAnimal(a: Animal) { }
}
変更から分離
インタフェースと抽象クラスを使用して実装の影響を分離する必要があります...!
DIP
自分よりも変わりやすいものに頼るのではなく、変えにくいものに頼るのです.
適用前
適用後
第11章システム
システムの作成と使用を分ける。
以下は使用と製作を分離する仕組みです.
しゅだんかい
こうじょう
依存性注入
ex)スプリングフレーム:JavaDI容器を提供する.
拡張
class Animal {
constructor(name: string){ }
getAnimalName() { }
saveAnimal(a: Animal) { }
}
class Animal {
constructor(name: string){ }
getAnimalName() { }
}
class AnimalDB {
getAnimal(a: Animal) { }
saveAnimal(a: Animal) { }
}
システムの作成と使用を分ける。
以下は使用と製作を分離する仕組みです.
しゅだんかい
こうじょう
依存性注入
ex)スプリングフレーム:JavaDI容器を提供する.
拡張
クリーンコード12章作成
クリエイティブ:下位層(コンポーネント)にない特性や動作は、上位層(全体構造)で自発的に発生します.
以下に重要度順を示します.
すべてのテストを実行
重複除外
君の意図を伝える
クラスとメソッドの数を最小限に抑える
参考資料
第10章参考資料
https://doublem.org/SOLID_SRP_OCP/
https://server-engineer.tistory.com/228
第11章参考資料
https://velog.io/@jwkim/Clean-Code-11%EC%9E%A5-%EC%8B%9C%EC%8A%A4%ED%85%9C
https://tech-interview.tistory.com/119
https://victorydntmd.tistory.com/300
第12章参考資料
https://velog.io/@jwkim/Clean-Code-12%EC%9E%A5-%EC%B0%BD%EB%B0%9C%EC%84%B1
Reference
この問題について(発表1行コード210613), 我々は、より多くの情報をここで見つけました https://velog.io/@blueskyi/한줄코딩-발표-210613テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol