Separation of Concerns [ 관심사 분리 ]

Programming/Old 2016. 4. 9. 13:18

- 소프트웨어 공학적인 말로 'SoC'라고 하지만, 작업을 미분하자는 의미

- 큰 문제를 작은 문제로 분할해서 해결하자

- 모듈성과 캡슐화는 별표 열개

- 객체지향 프로그래밍에서는 데이터에 대한 관심을 클래스와 객체로 분리하자

- 이거 적용해서 MVC패턴을 만들어보자

- 로직 역할을 구분짓고 모듈화해서 관리하자

- 잘 되면 역할 분담이나 부서로 나눠 작업 관리가 용이해지겠지!?


결합도(Coupling)을 낮추고 응집도(Cohesion)를 높이기 위해서 참 이런 개념도 등장하고... 이러니까 나날이 프로그래밍은 철학이 되어 가는 것 같다.

그놈의 결합도와 응집도를 낮추고 관리와 유지보수 측면에 치중하여 개발하다 보니까 알아야 할 게 ㅈ나게 많아지는 것 같다. 

그래도 어쩔 수 없는 것이 프로그래밍도 집단으로 하면 결국에는 커뮤니케이션이 중요해질 수 밖에 없으니, 이런 개념들이 프로그램에 팍팍 양념되어 있어야 한다는 데에는 이견이 없다.

그러나 솔직히 막코딩으로 짠 프로그램이 어떤 재앙을 불러오는지는 아직 실감해 본적이 없기 때문에 이런 소프트웨어 공학적 지식이 얼마나 소중한 것인지 직접적으로 와닿지는 않는 것이 사실.

그치만 아무튼 이런 거 적용해서 프레임워크 뽑아낸 사람들은 정말 대단하단 말이지 - _-...

admin