본문 바로가기

Architecture for Software/Framework

프레임웍(Framework)이란 무엇인가에 대한 좋은 강의를 소개합니다.

오픈소스의 비약적인 발전으로 수 많은 프레임웍들을 사용해서 쉽게 어플리케이션들을 구축할 수 있게 되었습니다.
최근 오픈소스 진영의 프레임웍들은 IoC(Inversion of Control)AOP(Aspect-Oriented Programming)CoC(Convention over Configuration) 등을 적용하여 수 많은 개발상의 문제들을 유연하고 일관되게 해결해주고 있습니다.

아울러 수 많은 개발조직들은 스프링 프레임웍(Spring Framework)과 같은 오픈소스 진영들의 프레임웍들을 손쉽게 자기 조직이 개발하거나 관리하는 어플리케이션에 맞도록 수정하여 자체 프레임웍을 구축하는 경우가 많습니다.

이러한 시도는 매우 좋은 일이라고 생각합니다. 프레임웍이 다양한 환경하에서 더욱 공고해질 수 있는 경험을 제공하기 때문입니다. 예를 들어 비약적으로 발전하고 있는 스프링 프레임웍의 뒤에는 수 많은 개발 조직들의 적용 경험과 여기에서 나오는 여러가지 문제점들을 해결하려는 노력들이 반영되었기 때문이라고 생각합니다.

하지만 대부분 스프링 프레임웍과 같은 프레임웍들을 사용하는 법에 대해서는 잘알게 되었지만, 진정으로 프레임웍이란 무었인가?라는 의문을 품게되는 경우가 있습니다. 한마디로 프레임웍에 대하여 정리하는 매우 어렵습니다. 현실적으로 프레임웍의 종류는 매우 다양하기 때문에 프레임웍이란 무엇이다 라고 단정지어서 말하기가 매우 어렵다는 말입니다.

저의 경우에도 이 문제로 오래전부터 고민을 많이 해왔습니다. 자기 자신이 프레임웍에 대한 정의가 없는 상태에서 프레임웍을 개발하든 아니면, 커스터마이징하는 경우이든, 여튼 프레임웍을 구축하고 계신다면, 프레임웍이란 이런것이며, 우리가 구축하려는 프레임웍은 이런 점에 주안점을 둔 것이다 정도의 사상이 필요하다고 생각합니다.

이러한 의문에 좋은 답을 제공하는 동영상 강의가 있습니다. 손영수님의 강의인데요~ 여러모로 프레임웍에 대한 좋은 관점을 제공해주는 훌륭한 강의입니다.

지금 프레임웍 자체에 대하여 고민하고 계시다면 http://arload.wordpress.com/2009/03/30/framework_engineering_lecture/로 이동하셔서 좋은 동영상 강의를 들어보시길 권해드립니다.

참고로 제 목소리도 들을 수 있습니다~ ;-)

'Architecture for Software > Framework' 카테고리의 다른 글

스크럼(Scrum)과 스프린트(Sprint)  (0) 2024.03.25