여러분!! 인기 있는 Framework를 만들고 싶으신 가요? 저 역시 그렇습니다.

인기 있는 Framework를 만들기 위해 Framework Design Guidelines에서  나온 내용(.NET Framework 설계자인 Krzystof Cwalina의 조언)들을 일부 여러분과 공유하고자 합니다.

  • 사용성 테스트
  • 점진적인 학습 곡선
  • 캡슐화의 오해

이번 포스트에서 다룰 주제는 이렇습니다. 자 그럼 하나씩 살펴 보도록 하죠 🙂

계속 읽기

mark richards

어떤 전문직이든, 전문용어를 사용합니다. 그러므로 같은 전문직에 종사하는 사람들끼리 효율적으로 대화할수 있습니다.

법조인은 인신 보호 영장 (habeas corpus), 예비 심문 (voir dire), 배심원 (venire)에 관해 다른 사람에게 말합니다.

마찬가지로 목수는 맞댐이음 (butt joint), 겹 이음 (lap joint), 플럭스[1] 에 관해 다른 사람에게 말합니다.

그리고 소프트웨어 아키텍트는 ROA(Resource-Oriented Architecture), 2 Step Views[2], 레이어 슈퍼타입[3]에 관해 다른 사람에게 말합니다.

잠시만요!  뭘 이야기 할려는  거죠?

소프트웨어 아키텍트에게 전문용어의 사용은 필수적인 것입니다. 아키텍트가 사용하는 플랫폼에 상관없이, 전문용어는 다른 이들과 대화하는 효율적인 수단입니다.

의사소통(communication)의 이러한 수단들 중에 하나가 아키텍처와 디자인 패턴들입니다.  유능한 아키텍트가 되기 위해서는, 반드시 기본이 되는 아키텍처와 디자인 패턴들을 이해하고,  언제 사용되고,적용할지 알아야 합니다.  그리고 다른 아키텍트/ 개발자와 대화하기 위해 패턴을 사용할 수 있어야 합니다.

계속 읽기

Pattern이라는 분야에서 GoF의 Design Patterns가 가지는 의미는 굳이 말을 하지 않아도 될듯 합니다.

몇몇 지식 계층들을 위한 학회에서나 애기되어지고 있는 Pattern들을 일반인들에게 알리는 신호탄 같은 존재이기 때문입니다.

예전 블로그에 올린 글이지만, 패턴을 공부하시거나 접하시는 분에게는 꼭 필요한 내용이라  재 포스팅 합니다.

이 포스트를 통해서 Design Pattern의 두번째 원칙에 대한 오해들을 여러분과 공유하고자 합니다.

문제가 되는 두번째 원칙을 보도록 하죠.  🙂

Favor Object Composition over Class Inheritance

이 말의 의미는 원문 그대로 해석을 한다면 클래스 상속보다는 객체 조합을 선호해라 라는 애기입니다.  대부분의 시중에 나와 있는 책들이 상속보다는 조합을 선호하는 것으로 의미를 파악하고 전달하고 있습니다.

물론 그 당시 CBD가 널리 유행했던 것도 한 몫했죠 🙂   과연 이말이 맞는걸까요?

6년 동안 다양한 패턴에책들을 본 경험을 들어 볼때, 상속이라는 것은 모든 패턴에 사용되고 있었습니다.

거기다 graybox 즉 whitebox(상속)과 blackbox(조합)을 함께 적용하는 것이 패턴계의 철학으로 굳혀져 있어서 과연 이말이 맞는지 많은 의구심을 가지게 되었습니다.

계속 읽기

The Productive Programmer

제가 2008년 10월호 마소에  팀 생산성 향상을 위한 패턴 이야기를 기고 했는데요.

이번에는 팀이 아닌 개개인이 생산성을 향상 시킬수 있는 좋은 지침이 되는 서적이 나와 소개하고자 합니다.

The Productive Programmer  (O’ Relly)

Abstract
이 책의 저자 Neal Ford는 리펙토링의 저자인 Martin Fowler가 있는 ThoughtWorks의 이사로 많은 컨퍼런스에 DSL 전도사로 활동중입니다.

이 책은 생산성 향상을 위해 조직적인 측면보다는 개발자의 개인적은 측면에 대해서 초첨을 맞추고 있습니다.

개발자로서 자주 사용하는 운영체제, 프로그램들의 숨겨진 단축키와 초기 셋팅 방법와 같은 Mechanic Skill 뿐만 아니라, 향상된 코드를 생성하기 위한 툴들, 코딩 스킬, 개발자가 지켜야 하는 규범들을 공유하고 있습니다.

계속 읽기