ÃÑ ÆäÀÌÁö ¼ö : 3224
![]()
|
Facebook Joinc ±×·ì
Joinc QA »çÀÌÆ®
![]()
Tweet
joinc´Â Firefox¿Í chrome¿¡¼ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù. ¼Ò°³
¾Æ·¡ UMLÀº starumlÀ» ÀÌ¿ëÇØ¼ ÀÛ¼ºÇßÀ½. ![]()
¾î¶² ÀÏÀ» ÇÏ´Â ÇÁ·Î±×·¥À» ¸¸µç´Ù°í °¡Á¤Çغ¸ÀÚ. ÀϹÝÀûÀ¸·Î ÇϳªÀÇ ÇÔ¼ö¸¦ ÀÌ¿ëÇÏ´Â °Íº¸´Ù´Â °¡´ÉÇÑ ºÐÇÒÀ» ÇØ¼ ¿©·¯°³ÀÇ ¼ºêÇÔ¼ö¸¦ ¸¸µå´Â ¹æ½ÄÀ» ¼±È£ÇÑ´Ù. ÀÌ·¸°Ô ÇÒ°æ¿ì µð¹ö±ë, À¯Áöº¸¼ö, ÄÚµå°ü¸®°¡ ¼ö¿ùÇØÁö±â ¶§¹®ÀÌ´Ù.
±×·¯³ª ¿©·¯°³ÀÇ ¼ºêÇÔ¼ö¸¦ µÎ°Ô µÉ °æ¿ì¿¡´Â À̵éÀ» ´Ù·ç±â°¡ Áö³ªÄ¡°Ô º¹ÀâÇØÁö´Â °æ¿ì°¡ ¹ß»ýÇÒ ¼ö ÀÖ´Ù. socketÇÁ·Î±×·¥À» ¿¹·Î µé¾îº¸ÀÚ¸é, ÇϳªÀÇ endpoint ¼ÒÄÏÀ» ¸¸µé±â À§Çؼ´Â socket(2)->bind(2)->listen(2) ÀÇ °úÁ¤À» °ÅÃÄ¾ß ÇÑ´Ù. À̶§ À̵é ÇÔ¼ö¸¦ È£ÃâÇÏ´Â °³¹ßÀÚ´Â ´Ü¼øÈ÷ È£Ã⸸ ÇÏ´Â°Ô ¾Æ´Ï¶ó ¿¡·¯Ã³¸®¸¦ À§Çؼ °¢°¢ÀÇ ¸®ÅϰªÀ» °Ë»çÇÏ´Â Äڵ嵵 ½Å°æ½á¾ß ÇÑ´Ù.
facade patternÀ» ÀÌ¿ëÇϸé, ÀÌ·¯ÇÑ °úÁ¤À» ¼û±â°í °³¹ßÀÚ¿¡°Ô´Â ´Ü¼øÇÑ Interface¸¸À» Á¦°øÇÒ ¼ö ÀÖ´Ù. Á¦Ç°À» ¸¸µå´Â °øÀåÀ¸·Î Ä¡ÀÚ¸é, ¿©·¯°³ÀÇ ÄÁÅ×ÀÌ³Ê º§Æ®·Î ³ª´µ¾îÁø °øÁ¤À» Çϳª·Î ÅëÀÏ ½ÃŰ´Â °Å¶ó°í³ª ÇÒ ¼ö ÀÖ°Ú´Ù.
°øÁ¤ 1 : 3¹øÀÇ ÀÔ·Â, Áï 3°³ÀÇ Interface°¡ ÇÊ¿äÇÏ´Ù. ![]()
°øÁ¤ 2 : 1¹øÀÇ ÀÔ·Â, Áï 1°³ÀÇ Interface¸¸À» °¡Áø´Ù. ![]() C++
¾Æ·¡´Â ÄÄÇ»Å͸¦ °¡µ¿ÇÏ´Â °£´ÜÇÑ ½Ã¹Ä·¹ÀÌ¼Ç ÇÁ·Î±×·¥ÀÌ´Ù. ÄÄÇ»Å͸¦ °¡µ¿Çϱâ À§Çؼ´Â CPU, Memory, HardDisk¸¦ ¼ø¼¿¡ ¸Â°Ô Á¦¾î¸¦ ÇØ¾ß ÇÑ´Ù. facade ÆÐÅÏÀ» ÀÌ¿ëÇϸé, ÀÌ·¯ÇÑ °úÁ¤À» ¼û±æ ¼ö ÀÖ´Ù. ÇÁ·Î±×·¡¸Ó´Â ´Ù¸¥ °Í¿¡ ½Å°æ¾µ ÇÊ¿ä¾øÀÌ startComputer¸Þ¼µå¸¸ È£ÃâÇÏ¸é µÈ´Ù.
#include <iostream>
using namespace std;
#define BOOT_ADDRESS 0x11
#define BOOT_SECTOR 0x18
#define SECTOR_SIZE 0x80
class CPU
{
public:
void freeze() {cout <<"Freeze" << endl;}
void jump(unsigned int pos){ cout << "Position " << pos << endl; }
void execute(){cout << "EXECUTE" << endl;}
};
class Memory
{
public:
void load(unsigned int pos, char *data)
{
cout << "Memory Load" << pos << endl;
}
};
class HardDrive
{
public:
char * read(long lba, int size)
{
}
};
// Facade
class Computer
{
public:
void startComputer()
{
CPU cpu;
Memory memory;
HardDrive harddrive;
cpu.freeze();
memory.load(BOOT_ADDRESS, harddrive.read(BOOT_SECTOR, SECTOR_SIZE));
cpu.jump(BOOT_ADDRESS);
cpu.execute();
}
};
int main()
{
Computer facade;
facade.startComputer();
}
|
|
|
EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù. |
|