팩토리 패턴에 가장 큰 장점은 앞으로 어떤 클래스가 추가될지 모르는 상태에서 팩토리 클래스에서 if만 추가하면 객체가 생성되고, 서브클래스만 구현하면 된다는 것이다. 얼마나 획기적인가...


예제를 통해 알아보자.

package AbstactFactory;


public abstract class Ethnic {

public void Create() {

}

}

package AbstactFactory;


public class EthnicFactory {

public String _ethnic;

public EthnicFactory(String _ethnic){

this._ethnic = _ethnic;

}

public Ethnic getInstance(){

if(_ethnic.equals("Human")){

return new Human();

}

else{

return new Elf();

}

}

}

package AbstactFactory;


public class Character extends Human {

private String ethnicName;

private Ethnic _ethnic;

public Character(){

this("Human");

}

public Character(String ethnicName){

this.ethnicName = ethnicName;

this.Create();

}

public void Create(){

EthnicFactory factory = new EthnicFactory(ethnicName);

Ethnic ethnic = factory.getInstance();

ethnic.Create();

_ethnic = ethnic;

}

}

package AbstactFactory;

public class Human extends Ethnic{
private String ethnicName;
public Human(){
ethnicName = "Human";
}
@Override
public void Create() {
// TODO Auto-generated method stub
super.Create();
System.out.println(ethnicName + " created.");
}
}


메인 구현 부분


Character Human = new Character("Human");
Character Elf = new Character("Elf");


저작자 표시
신고

'시스템분석 및 설계 > 디자인패턴' 카테고리의 다른 글

팩토리 패턴  (0) 2012.10.22
MVC 모델 정리  (0) 2009.08.21
팝업 윈도우를 사용하는 이유는 커스텀하게 배경을 넣을때 사용하면 유명함
또한 좌표위치도 조절이 가능하기 때문에 아래나 위로 붙일때 유효하게 사용가능함
아래는 리스트 뷰에서 클릭시에 팝업을 띄워 처리하는 방법을 제시해줌.

http://ememomo.tistory.com/3
저작자 표시
신고

[공식사이트]
android sdk
http://developer.android.com/sdk/index.html

아이콘 생성툴
http://developer.android.com/guide/practices/ui_guidelines/icon_design.html

android library document
http://developer.android.com/reference/packages.html

android 블루투스 정보
http://docs.androidside.com/docs/guide/topics/wireless/bluetooth.html

android 블루투스 chat source
http://developer.android.com/resources/samples/BluetoothChat/index.html

 

[블로그]
android 개발 블로그
http://www.androidside.com/bbs/board.php?bo_table=B49&wr_id=2617&page=0

안드로이드 기반 오픈 소스 프로젝트 및 참고 사이트 모음
http://www.androidpub.com/89895


 

안드로이드 강좌 3 - 프로젝트 실행과 디버깅 그리고 단말 세팅
http://www.androidpub.com/764


Expat XML Parser
http://www.hpc.wm.edu/SciClone/documentation/software/misc/expat/reference.html#XML_SetStartElementHandler


sqlite 3 한글 문제 및 사용번 adb devices
http://underclub.tistory.com/260?srchid=BR1http%3A%2F%2Funderclub.tistory.com%2F260


안드로이드 데이트 타임 포멧 형식
http://developer.android.com/reference/android/text/format/DateFormat.html

http://www.androidside.com/bbs/board.php?bo_table=B46&wr_id=1521잘되어있음.

 

챠트 그래프 엔진
http://www.achartengine.org/

http://youngik.tistory.com/41?srchid=BR1http%3A%2F%2Fyoungik.tistory.com%2F41


바이오리듬예제
http://www.cocoadev.co.kr/205


안드로이드 디자인 ui 에디터 툴
http://www.androidside.com/page/help/droiddraw.php


안드로이드 버튼 롤오버
http://www.androidside.com/bbs/board.php?bo_table=B46&wr_id=11310&page=2


구글 검색
안드로이드 asset db


 sdcard db 쓰고 읽기
http://androcat.egloos.com/1799323


코너를 둥글게 하는 코드가 기재된 사이트를 소개합니다.

   http://stackoverflow.com/questions/1705239/how-should-i-give-images-rounded-corners-in-android
[출처] Android Side - http://www.androidside.com/bbs/board.php?bo_table=B49&wr_id=6954#c_7014

 

커스텀 버튼 만들기 (숫자표시???)
http://blog.cyworld.com/kenur/3865946

테이블레이아웃 TableLayout
http://tigerwoods.tistory.com/12


테이블 모서리 둥글게
http://lomohome.com/317


안드로이드 소켓통신

http://blog.naver.com/west372?Redirect=Log&logNo=80099128812
소켓통신!!!
http://pulsebeat.tistory.com/24
파일전송
http://blog.paran.com/du19s/38833337

C 와 java server 소켓
http://www.javanuri.com/devforum/boardView.jsp?Id=306222&gb=qna&menuId=9


c 와 java servlet
http://dont.pe.kr/tt/25


struts ajax 업로드
http://ant103.egloos.com/tag/%ED%8C%8C%EC%9D%BC%EC%97%85%EB%A1%9C%EB%93%9C/page/1


안드로이드 게시판
http://blog.naver.com/PostView.nhn?blogId=q1q3q5&logNo=10095649155

 

[아이폰 개발 sdk] http://developer.apple.com/devcenter/mac/index.action

 

WebView 화면 확대 축소

http://blog.outsider.ne.kr/462

 

3D openGL ES 소개

http://zorg.tistory.com/128

 

 

 

Android NDK 시작하기

http://blog.naver.com/ofking00/120119379228

 

 

Hello Android NDK example

http://micropilot.tistory.com/1522?srchid=BR1http://micropilot.tistory.com/1522

저작자 표시
신고


티스토리 툴바