Decorator Pattern - 디자인 패턴 참고서적 : Head First Design Pattern 소스코드 다운로드 : http://www.wickedlysmart.com/headfirstdesignpatterns/code.html 패턴 정의 #3 - Decorator Pattern 데코레이터 패턴(Decorator Pattern)에서는 객체에 추가적인 요건을 동적으로 첨가한다. 데코레이터는 서브클래스를 만드는 것을 통해서 기능을 유연하게 확장할 수 있는 방법을 제공한다. 디자인 원칙 1. 클래스는 확장에 대해서는 열려 있어야 하지만 코드 변경에 대해서는 닫혀 있어야 한다. 데코레이터 패턴은 포함관계를 나타냅니다. 기본 Component를 각 Decorator 클래스가 포함함으로써.. 원하는 결..
Observer Pattern - 디자인 패턴 참고서적 : Head First Design Pattern 소스코드 다운로드 : http://www.wickedlysmart.com/headfirstdesignpatterns/code.html 패턴 정의 #2 - Observer Pattern 옵저버 패턴(Observer Pattern)에서는 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체들한테 연락이 가고 자동으로 내용이 갱신되는 방식으로 일대다(one-to-many) 의존성을 정의합니다. 디자인 원칙 1. 서로 상호작용을 하는 객체 사이에서는 가능하면 느슨하게 결합하는 디자인을 사용해야 한다. 옵저버 패턴은 주제(Subject)와 옵저버(Observer)에 의해 정의됩니다. 옵저버는 주제에 의존하고..
Strategy Pattern - 디자인 패턴 참고서적 : Head First Design Pattern 소스코드 다운로드 : http://www.wickedlysmart.com/headfirstdesignpatterns/code.html 자바의 디자인 패턴을 좀 정리해 두려고 합니다. 나중에 찾아보기 편하려구요~~ 앞으로 이 부분을 공부하면서 연재할 계획입니다.!! 패턴 정의 #1 - Strategy Pattern 스트래티지 패턴 (Strategy Pattern)에서는 알고리즘군을 정의하고 각각을 캡슐화하여 교환해서 사용할 수 있도록 만든다. 스트래티지를 활용하면 알고리즘을 사용하는 클라이언트와는 독립적으로 알고리즘을 변경할 수 있다. 디자인 원칙 1. 애플리케이션에서 달라지는 부분을 찾아내고, 달라지..
지난 시간에 이어서 SCORM의 CMI 데이터 모델에 대한 정리를 마무리 하도록 하겠습니다. 11. Learner ID cmi.learner_id SCO를 사용하는 학습자의 아이디 또는 구분자 GetValue 미니주석) 보통 LMS에 로그인 할 때 사용하는 ID가 있습니다. 그걸 의미한다고 보시면 됩니다. 12. Learner Name cmi.learner_name SCO를 사용하는 학습자의 이름 GetValue 미니주석) 역시 LMS에서 사용하는 학습자의 이름입니다. learner_id나 learner_name은 사용자가 설정할 수 없습니다. 즉, SetValue를 지원하지 않는 것이죠.. 13. Learner Preference cmi.learner_preference._children cmi.lea..