<설명>
- 2개 이상의 Abstraction이 서로 직-간접적인 Dependency(의존성) 을 가진 형태.
- Abstraction 사이의 Cyclic Dependency 는 Acyclic Dependencies Principle(ADP) 와 Ordering Principle 을 위반.
- Cyclically-Depended 한 Abstraction 들은 서로 간에 함께 Understood, Changed, Used, Tested, Reused 될 필요가 있을 수 있음.
==> Ex) Cyclic-Depended 한 Class A,B가 있다고 하자. Class A에 변화가 생기면 Class B 에 영향을 줄지도 모름.
- 거대하고 간접적인 Cyclic Dependencies 는 주로 복잡한 Software System 에서 미묘한 Bug의 출처로 여겨짐.
==> 어디서 종송-연결 되었는지 찾기 어려우니, Bug 잡기 어려움.
==> Abstraction이 서로 Tangled(묶이지) 않도록 설계하는게 중요.
<참조 1> https://www.sciencedirect.com/topics/computer-science/cyclic-dependency
<참조 2>
'Programing > Knowledge' 카테고리의 다른 글
[CS] Remote Procedure Call (RPC) (0) | 2022.12.08 |
---|---|
[CS] Mount (0) | 2022.12.07 |
[CS] Batch (0) | 2022.12.03 |
[CS] Abstraction (0) | 2022.12.02 |
댓글