2007/01 3

[디자인패턴] 1. Strategy Pattern

1. Strategy Pattern 알고리즘군을 정의하고 각각을 캡슐화하여 교환해서 사용할 수 있도록 만든다. 알고리즘(전략,작전,책략)을 교체해서 동일한 문제를 다른 방법으로 해결하는 패턴 실행 중에 교체하는 것이 가능하다. – 다형성을 이용해서 "상속"을 이용해 프로그램을 할때의 단점1) 서브클래스의 코드 중복 부모클래스에서 메소드 fly()를 구현해 놓았다면(abstract일때) 서브 클래스에서는 fly()를 쓰지 않아야 할때 매번 안쓴다는 코드를 구현해야 한다. (불필요한 행동을 그냥 아무것도 하지 않는것으로 오버라이드 해야한다. 만약 규격이 자주 바뀌게 되면 매번 프로그램에 추가했던 부모클래스를 상속받은 서브클래스의 메소드를 모두 일일이 살펴봐야한다.)2) 실행시에 특징을 바꾸기 힘들다.3) 모..

[디자인패턴] 디자인패턴을 왜 쓰는가?

나만의 Think! 공감 안하면 말구~ 디자인패턴을 시작하며, 현업 SI에서는 아주 PM이 유능해서 업무가 밀린다거나, 전혀 애로사항이 없다면 몰라도, 요구정의와 분석, 설계하는데 많은 부분이 프로젝트 기간중에 소요가 된다. 막상 개발자들은 실제 코딩을 하는 기간은 매우 짧다. 개발자들이 무슨 죄가 있는지, 프로젝트 오픈일이 다가 올수록 개발자가 못해서 프로젝트가 길어지는양, 위에서는 억압(?)을 하며 마감일 엄수를 외친다. PM의 심정을 모르는것도 아니고, PL의 심정을 모르는 것도 아니겠지만, 개발기간이 짧아 무조건 우선 코드의 생김새보다는, 돌아가게끔만이라도 해야할 때가 있다. 이럴 때 언제 패턴을 따지며, 프로그램을 짤수있을까? 란 의문이 항상 든다.하지만, 이렇게 생각하는 사람이 나혼자 있는 것..

backend 2007.01.21