innn

2022.07.04 본문

카테고리 없음

2022.07.04

33삼 2022. 7. 4. 12:28

응집도 

결합도 : 객체들간에 얼마나 의존적이지 않느냐

왜? 숨겨놓지 않으면 소프트웨어 결합이 많으면 많을 수록 문제가 발생하기 때문.

인포메이션 하이딩이 전혀 안되고 있음

1. 어레이스택이라는 친구들이 데이터들이 다 퍼블릭으로 되있어서 외부에서 직접 건들일수 있음

2. 스택클라이언트에서 바로 st.itemArray[++stop] = 20; 이 직접 초기화 되고 있음 이러면 안됨.

 

어레이리스트의 한 종류가 아니지.

어레이 리스트가 리포, 피포의 개념이 없다. 

스택은 항상 리포.  

상속을 잘못 풀면, 쓸 데없는걸 상속을 많이 받아서 문제가 많이 발생할 수 있음.

이럴때 쓰는 기법이 delegation. 내가 필요없는걸 빼는것 상속받지 않아도 되는 걸 빼는게 위임.

 

자기가 원하는 위치에 넣는 게 어래이리스트 set인데

스택인데 st.set으로 insang3를 넣는게 무결성이 깨지는 것임.

 

Stocastic Process

디스카운트 쿠폰이 있읈 ㅜ도 있고 없을 수도 있기 때문에 독립적이라는 것

 

모델링 책에 나오는 추상클래스는 자바의 추상클래스가 아닌 인터페이스로 생각해야함

 

은행권에는 백프로 쓰이는 aop 개념 aop개념으로 프로그램을 짜야함.

 

 

왼쪽처럼 하면 안되고 오른쪽처럼 해야함. 처음부터 이렇게 해야함. 처음부터 인터페이스로 어떻게 설계할 수 있는지

성적표도 도서관 대여명부도 출석부도 프린트 해야하는걸 하나로 프린트 스튜턴드로 묶는 생각 습관을 해야함.

 

오버라이딩 하지 말라는 말임. 왜? 일반화 관계에서 오버라이딩을 하면 일관성이 무너지니까

 

네트워크는 어렵더라도 이해하고 외우라고 하는 부분은 외워야함.

 

 

 

스프링의 가장 중요한 개념 중 하나 DIP

DIP는 의존관계를 맺을 때 변호ㅏ하기 쉬운것 또는 자주 변화하는 것보다는 변화하기 어려운것. 거의 변화가 없는 것에 의존하라는 원칙

 

실제 가지고 노는 구체적인 장난감은 변하기 쉬운것이고

아이가 장난감을 가지고 노는 사실은 변하기어려운것 고로 추상 클래스, 인터페이스로 설계를 해야하는 것임.

 

변화하가 어려운 것 = 추상, 인터페이스로

 

 

디자인패턴은 어떤 해결책을 줄 뿐 코드를 주는 건 아님.

 

Strategy Pattern 전략 패턴

설계할 때 추상적인 걸

코드를 주는 건 아니고 이렇게 설계를 하면 좋겠다 제안해주는게 디자인 패턴

 

 

디자인 패턴은 코드를 주는 건 아님. 상황에 따라 어떠한 패턴으로 풀라고 제안하는 것.

 

몇 년뒤에 프로젝트 설계 할때 고민하면서 이거에 대해서 공부해보기