ⓐ Abstraction(추상화)
- 중요하지 않은 세부사항을 숨긴다.
- 관심이 없는 내용을 숨긴다.
- System마다 abstraction level이 다르다.
- Abstraction의 최고 낮은 수준(lowest level)의 세부사항도 고려한다.
> 이에 따라, 상위 level의 Abstraction은 하위 level의 Abstraction이 돌어가는지 알 필요가 없다.
ex) electronic computer
ⓑ Discipline(규율)
- 더 생산적이고 높은 level의 추상화를 위해서 의도적으로 제한하는 설계(디자인) 선택
ex) 총 부품(low-level)의 표준 규격을 정해서 총 생산의 편리함과, 대량화를 가져왔다.
ⓒ The three - "Y's"( hierarchy(계층화), modularity(모듈화), regularity(정규화) )
- Hierarchy(계층화) : 모듈에 의해 시스템을 나눈다. 더 나아가 모듈을 이해하기 쉬운 조각으로 더 나눈다.
- Modularity(모듈화) : 잘 정의된 Function과 Interface로 구성시킨다.
함수와 인터페이스를 부작용없이 연결한다.
- Regularity(정규화) : 모듈의 일률을 최대화한다. 반복되는 행동을 줄인다.
ex) 총 부품의 The three -"Y's"
- Hierarchy
- Modularity
> stock
>> function : barrel과 lock을 장착하는 뼈대
>> Interface : Stock의 길이와 결합핀의 위치
- Regularity : 더 좋은 아이디어로 대체 가능한 부분이 생성됨
> Regularity에 의해 낡은 barrel은 새로운 barrel로 대체가 가능하다.
- 중요하지 않은 세부사항을 숨긴다.
- 관심이 없는 내용을 숨긴다.
- System마다 abstraction level이 다르다.
- Abstraction의 최고 낮은 수준(lowest level)의 세부사항도 고려한다.
> 이에 따라, 상위 level의 Abstraction은 하위 level의 Abstraction이 돌어가는지 알 필요가 없다.
ex) electronic computer
ⓑ Discipline(규율)
- 더 생산적이고 높은 level의 추상화를 위해서 의도적으로 제한하는 설계(디자인) 선택
ex) 총 부품(low-level)의 표준 규격을 정해서 총 생산의 편리함과, 대량화를 가져왔다.
ⓒ The three - "Y's"( hierarchy(계층화), modularity(모듈화), regularity(정규화) )
- Hierarchy(계층화) : 모듈에 의해 시스템을 나눈다. 더 나아가 모듈을 이해하기 쉬운 조각으로 더 나눈다.
- Modularity(모듈화) : 잘 정의된 Function과 Interface로 구성시킨다.
함수와 인터페이스를 부작용없이 연결한다.
- Regularity(정규화) : 모듈의 일률을 최대화한다. 반복되는 행동을 줄인다.
ex) 총 부품의 The three -"Y's"
- Hierarchy
- Modularity
> stock
>> function : barrel과 lock을 장착하는 뼈대
>> Interface : Stock의 길이와 결합핀의 위치
- Regularity : 더 좋은 아이디어로 대체 가능한 부분이 생성됨
> Regularity에 의해 낡은 barrel은 새로운 barrel로 대체가 가능하다.