본문 바로가기
Programing/Knowledge

[CS] Cyclic Dependency

by 꾸압 2022. 12. 4.

 

<설명>

  - 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(묶이지) 않도록 설계하는게 중요.

 

이미지 출처 : ScienceDirect

 


 

<참조 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

댓글