반응형

 

 

상속관계

- 상위 레이어는 하위 레이어에게 서비스를 요청합니다.

- 상위 레이어는 하위 레이어의 구현을 위해, 상속받습니다.

- 상위 레이어는 니즈에 따라서, 하위 레이어의 서비스들을, 수정할 수 있습니다.

- 베이스 클래스의 데이터 레이아웃이 변경되면, 모든 하위 클래스들은 재-컴파일 되어야합니다.

 

즉. 하위 레이어는 변경이 덜 발생하고, 코어 프로시져들이 많이 담겨있다.

하위 레이어는 베이스 클래스(Base Class)라고 생각하면 좋다.

 

 

※ 주의

- 맨 아래가 자주 변경되면, 안좋습니다. -> 레이어드 배치를 다시 고려해봐야합니다. 혹은, 리팩토링도 고려해보아야합니다.

 

 

장점

▶ 독립적 개발 가능

  - 앱을 위한 다른 컴포넌트들은, 독립적으로 배포, 유지 그리고 변경될 수 있습니다, 다른 타임 스케줄에 의해서 말이죠.

  - 의존성을 최소화 하면서, 앱의 다른 파트에서, 병행적으로 팀 멤버들이 일할 수 있게 합니다. 

  - 서로의 독립적으로 컴포넌트를 테스팅할 수 있습니다.

 

▶ 보안적임

   - 각각의 레이어는 private 정보를 다른 레이어로부터 감출 수 있습니다.

 

▶ 재상용성 좋음

   - 응집이 되어지고 하위 레이어로 연결된, 각각 레이어는 재사용하기에 더 쉽게 만듭니다, 그리고 상호교환 혹은 교체가  쉬워집니다.

 

단점

▶ 성능 하락 가능성

 - 만약, 우리가 많은 레이어를 가지고있따면, 퍼모먼스가 떨어질 것입니다.

 

▶ 레이어들의 정확한 세분화를 설립하는게 어려움.

 - 매우 적은 레이어들은, 완전하게 패턴의 재사용성을 위해, 변견성을 위해, 이식성을 위한 잠재성을 악용하면 안됩니다.

 - 매우 많은 레이어들은 불필요한 복잡도와 오버헤드를 발생합니다.

granularity(세분성)

 

▶ 간단한 앱에서는 사용 못함 (복잡도(complexity를 증가시키기 때문에)

 

▶ 예외 혹은 에러 핸들리 문제

 - 이 레이어드 아키텍쳐에서, 예외 혹은 에러 핸들링 이슈가 있습니다. 이유는, 하나의 레이어에서 faults는, 레이어를 불렀던 모든 상위 레이어로 전파되기 떄문입니다.

 

 

 

단점

 

 

반응형