스트래티지(Strategy) 패턴- 서로 밀접한 관계를 가지는 여러 클래스에 대해 필요한 시점에 수행하는 클래스를 골라 사용하고자 할 때 사용하는 패턴. - abstract class 를 implement 시켜서 각각의 type 의 클래스를 생성한다. - 그리고 하나의 클래스에서 각각의 클래스들을 관리하여준다. 새롭게 생성되는 type 가 있을 때 쓰면 좋겠다. 라고 생각된다. 더이상 설명은 없고 각각의 클래스에 대한 소스코드를 첨부한다. Abs_Contents.java public interface AbsContents { void Draw(); // on Android void Rendering(); // on OpenGL } Content_Card.java public class Content_Ca..
오늘의 삽질, 템플릿 싱글턴 디자인 패턴을 DLL 화 시키는 것이다. 답은 쉽군아.!? 원래 간단한걸 원했으니깐, 말이다. 졸리기 시작하니 후다닥 정리를 하자. 먼저, 이번 Part 1 에서는 목표를 정했다. 묙표는 1. 클래스 1개를 DLL 로 만들기 - ifndef, endif 를 이용한 방법 획득! 2. 클래스 2개를 사용하여 DLL 로 만들기 - 1개의 각각의 클래스를 독립적으로 되면 1번과 다름이 없다. 2개의 클래스는 StudentManager 와 Student의 관계이다. 즉, Student 는 StudentManager에 내포되는 클래스이다. 3. Singletone Design pattern 의 사용 - StudentManager 클래스는 template Singletone 의 클래스의 ..
/* Copyright (C) Scott Bilas, 2000. * All rights reserved worldwide. * * This software is provided "as is" without express or implied * warranties. You may freely copy and compile this source into * applications you distribute provided that the copyright text * below is included in the resulting source code, for example: * "Portions Copyright (C) Scott Bilas, 2000" */ #include template class Sin..
팩토리 패턴 - 객체를 생성하기 위한 인터페이스를 만듭니다. 어떤 클래스의 인스턴스를 만들지는 서브 클래스에서 결정하도록 합니다. 팩토리 메소드를 이용하면 인스턴스를 만드는 일을 서브 클래스로 미룰 수 있습니다. 팩토리 패턴의 핵심정리 ○ 팩토리를 쓰면 객체 생성을 캡슐화할 수 있습니다. ○ 간단한 팩토리는 엄밀하게 말해서 디자인 패턴은 아니지만, 클라이언트와 구성 클래스를 분리 시키기 위한 간단한 기법으로 활용 할 수 있습니다. ○ 팩토리 메소드 패턴에서는 상속을 활용합니다. 객체 생성이 서브클래스에게 위임되죠. 서브클래스에게 위임되죠. 서브클래스에서는 팩토리 메소드를 구현하여 객체를 생산합니다. ○ 추상 팩토리 패턴에서는 객체 구성을 활용합니다. 객체 생성이 팩토리 인터페이스에서 선언한 메소드들에서 ..
싱글턴 패턴 - 클래스 인스턴스가 하나만 만들어지도록 하고, 그 인스턴스에 대한 전역 접근을 제공합니다. 핵심정리 ★ 어떤 클래스에 싱글턴 패턴을 적용하면 애플리케이션에 그 클래스의 인스턴스가 최대 한 개 까지만 있도록 할 수 있습니다. ★ 싱글턴 패턴을 이용하면 유일한 인스턴스를 어디서든지 접근할 수 있도록 할 수 있습니다. ★ 싱글턴 패턴을 구현할 때는 private 생성자와 정적 메소드, 정적 변수를 사용합니다. ★ 다중 스레드를 사용하는 애플리케이션에서는 속도와 자원문제를 파악해보고 적절한 구현법을 사용해야 합니다.( 사실 모든 애플리케이션에서 멀티 스레딩을 쓸 수 있다고 생각해야 합니다.) ★ 클래스 로더가 여러개 있으면 싱글턴이 제대로 작동하지 않고 여러개의 인스턴스가 생길 수 있습니다. 주의..