여러 다른 객체를 조합해야 할 경우, 그 객체 들을 조립하는 코드가 중복이 될 여지가 있습니다. 여러 객체를 조합해 객체를 만드는 과정을 전담하는 클래스를 두는 것을 빌더 패턴이라고 부릅니다. enum ITEM_OPTION_TYPE { ITEMOPTIONTYPE_NONE = -1, ITEMOPTIONTYPE_HEAL, ITEMOPTIONTYPE_POISON, }; class ItemOption { ITEM_OPTION_TYPE m_ItemOptionType; public: ItemOption(ITEM_OPTION_TYPE itemoptiontype){ m_ItemOptionType = itemoptiontype; } }; class ItemOptionHeal : public ItemOption { //체..
함수 동작 방식은 부모 클래스에서 정의 되고, 세부적인 처리 방법은 자식 클래스에서 재정의 하는 것을 템플릿 메소드 패턴이라고 합니다. 각 클래스 마다 고유한 같은 인터페이스를 제공하면서도, 다른 동작을 하기 위한, 객체 지향 프로그래밍에서의 다형성을 나타내는 대표적인 패턴이라고 할 수 있습니다. class ItemOption { virtual bool isUseItem(){return true;} //아이템이사용가능한상태인지 virtual bool Use(){return true;} //아이템사용 virtual bool Act() { if(!isUseItem()) return false; return Use(); } }; class ItemOptionHeal : public ItemOption { vi..
어떠한 객체를 생성할 것인지를 자식 클래스 마다 다르게 하여, 클래스마다 다른 객체를 갖도록 하는 것을 팩토리 메소드 패턴이라고 합니다. class ItemOption { //각종멤버 }; class ItemOptionHeal : public ItemOption { //체력회복기능 }; class ItemOptionPoison : public ItemOption { //독기능 }; class ItemDurationType { //각종멤버 }; class ItemDurationTypeCount : public ItemDurationType //갯수제 { //갯수제처리 }; class ItemDurationTypeTime : public ItemDurationType //시간제 { //시간제처리 }; cla..
관련성 있는 객체 집합을 생성하는 인터페이스를 제공하는 방법을 추상화 팩토리 패턴이라고 한다. 팩토리는 어떤 객체가 생성될지를 전담하는 패턴이지만, 추상화 팩토리는 어떤 분류의 객체 집합을 생성할 것인지를 정해주는 패턴이라 보면 된다. class Character { //각종멤버 }; class User : public Character { //각종멤버 }; class Npc : public Character { //각종멤버 }; class Item { //각종멤버 }; class UserItem : public Item { //각종멤버 }; class NpcItem : public Item { //각종멤버 }; class ICharacterFactory { public: virtual Character..
팩토리 패턴은 서로 관련성이 있거나 책임이 같은 클래스들을 생성해 주는 클래스를 객체 생성 과정 중간에 두어 복잡도를 줄이는 방법이다. 한마디로, 객체 생성 전담자라는 의미로 생각하면 된다.class Character { //각종멤버 }; class User : public Character { //각종멤버 }; class Npc : public Character { //각종멤버 }; class Monster : public Character { //각종멤버 }; class CharacterFactory { public: static Character * CreateUser() { return new User; } static Character * CreateNpc() { return new Npc; }..
RFC 1918은 사설 주소 (사설 네트워크 내에서의 식별용 주소)로 사용하기 위한 세 개의 IP 주소 블럭을 설정해두었다. - 10.0.0.0 ~ 10.255.255.255 (10/8 prefix) - 172.16.0.0 ~ 172.31.255.255 (172.16/12 prefix) - 192.168.0.0 ~ 192.168.255.255 (192.168/16 prefix) 사설 주소로 외부에 연결 되기 위해서는 NAT (Network Address Translation : 네트워크 주소변환) 이 필요하다. NAT는 사설 주소와 공인 주소 사이에서 주소를 변환해주는 역할을 한다. 대부분의 NAT 장비들은 다음 세가지 모드를 지원한다. 1. static 사설 네트워크의 일부 혹은 전체 호스트들이 그들의..
- Total
- Today
- Yesterday
- TraceRoute
- 디버깅
- 디자인 패턴
- ruby
- 멀티스레드
- 좋은 프로그래머
- SDL
- EzShortcut
- Rails
- 임백준
- MS-SQL
- 게임개발포에버
- 엘키
- 조엘 온 소프트웨어
- NDC2013
- 바로가기 프로그램
- CppSQLite
- Ruby on Rails
- c언어
- 루비 온 레일즈
- RoR
- TDD
- 리버스 엔지니어링
- perfmon
- svn
- ftp
- EasyExec
- SQLite Spy
- 게임데브포에버
- 루비
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |