strategy pattern
µðÀÚÀÎ ÆÐÅÏÀº °´Ã¼ ÁöÇâÀÇ »ó¼Ó º¸´Ù´Â ±¸¼ºÀ» È°¿ëÀ» Áß¿ä½Ã ÇÑ´Ù. A´Â BÀÌ´Ù º¸´Ù A´Â B¸¦ °¡Áö°í ÀÖ´Ù´Â ±¸¼ºÀ» È°¿ëÇÏ´Â °ÍÀÌ Â÷ÈÄ¿¡ »õ·Î¿î ±â´É Ãß°¡°¡ »ý±â Ç÷¯±× ÀÎ °³³äÀÇ ±âº»ÀÌ µÇ´Â ÆÐÅÏ ÀÌ ÆÐÅÏÀÌ´Ù.
strategy patternÀÇ µðÀÚÀÎ ¿øÄ¢ 1. ´Þ¶óÁö´Â ºÎºÐÀ» ã¾Æ³»°í, ´Þ¶óÁöÁö ¾Ê´Â ºÎºÐÀ¸·ÎºÎÅÍ ºÐ¸®½ÃŲ´Ù. 2. ±¸ÇöÀÌ ¾Æ´Ñ ÀÎÅÍÆäÀ̽º¿¡ ¸ÂÃç¼ ÇÁ·Î±×·¡¹ÖÇÑ´Ù. 3. »ó¼Óº¸´Ù ±¸¼ºÀ» È°¿ëÇÑ´Ù.
Context¿¡¼ strategyInterface¸¦ ÀÌ¿ëÇÏ¿© ¾Ë°í¸®ÁòÀ» ½ÇÇà ÇÑ´Ù. ConcreteStrategyA, ConcreteStrategyB, ConcreteStrategyC Áß¿¡ ¾î¶² °ÍÀ» ¼³Á¤(set_strategy) ÇÏ´À³Ä¿¡ Context´Â »ó¼ÓÀ» ÀÌ¿ëÇؼ ±â´É Ãß°¡°¡ µÇ´Â °ÍÀÌ ¾Æ´Ï¶ó, ±¸¼ºÀ» ÀÌ¿ëÇؼ ±â´ÉÀ» Ãß°¡ÇÏ°í ÀÖ´Ù.
¼Ò½º: state_pattern.cpp
ÂüÁ¶ ½ÎÀÌÆ®: |