귀하는 손님 이십니다
로그인
회원가입
  
  델마당 공식 은행계좌
  하나은행 227-910235-83607
  예금주 이상국(운영진)
프로젝트 게시판
투표게시판
델마당소개
기초부터 활용까지! 델파이 교육 - 데브기어
 광고문의 :
떆由ъ쫰 媛뺤쥖 떆由ъ쫰 媛뺤쥖 입니다.
글내용 - 떆由ъ쫰 媛뺤쥖
 뜽뙆씠 뵒옄씤뙣꽩 - 뙥넗由 硫붿꽌뱶(FactoryMethod) 뙣꽩
梨⑤━釉뚮씪슫
(沅뚭킅씪)
2019-04-28 삤썑 11:42:22
110회 조회


첨부파일 다운로드
FactoryMethod.zip

삤뒛 뵒옄씤 뙣꽩以묒뿉 媛앹껜깮꽦쓣 떞떦븯뒗 뙣꽩 以 湲곕낯씠 릺硫댁꽌룄 媛옣 留롮씠 솢슜릺뒗

뙥넗由 硫붿꽌뱶(Factory Method) 뙣꽩뿉 빐 븣븘蹂댁옄.

湲곕낯씠 릺뒗 뙣꽩씠씪怨좊뒗 븯吏留, 媛쒕뀗쓣 젣濡 븘뒗 궗엺뱾씠 뜑臾쇱뼱 釉붾줈洹몃굹 쑀뒠釉 媛숈怨녹뿉꽌

옒紐삳맂 媛뺤쥖瑜 삱젮넃 궗엺뱾씠 뿀떎븯떎.

븘萸뤿뱺 뙥넗由 硫붿꽌뱶뿉 빐 吏湲덈꽣 긽꽭엳 꽕紐낇븯寃좊떎.

 

癒쇱 슜뼱젙由 遺꽣 븯옄.

뙥넗由 硫붿꽌뱶뒗 = 뙥넗由 + 硫붿꽌뱶 쓽 빀꽦뼱 씤뜲, 뿬湲곗꽌 留먰븯뒗

뙥넗由(Factory) 留먯쓣 怨듭옣씠 쓽誘몃줈 씠빐븯뒗 궗엺뱾씠 留롮뜲 , 뙣꽩媛뺤쥖뿉꽌뒗 怨듭옣씠 留먮떊

"뼱뼡 겢옒뒪쓽 媛앹껜瑜 떊 깮꽦빐 二쇰뒗 듅닔븳 겢옒뒪" 씪怨 븣怨 엳湲 諛붾떎.

硫붿꽌뱶뒗 留먭렇濡 洹 듅닔븳 겢옒뒪쓽 硫붿꽌뱶瑜 쓽誘명븳떎.

슦由щ뒗 씠 硫ㅻ쾭 硫붿꽌뱶瑜 샇異쒗븯뿬 겢옒뒪쓽 媛앹껜瑜 媛졇삱 寃껋씠떎. 옄꽭븳 궡슜 씠뵲媛 蹂닿퀬,

씠윴 뿰쑀濡 뙥넗由 硫붿꽌뱶 留먯씠 굹삩 寃껋씠떎.

 

뙥넗由 硫붿꽌뱶뒗 씠빐븯湲 쐞빐꽌뒗 떎쓬쓽 肄붾뱶瑜 蹂댁븘빞 븳떎.

떎쓬쓽 肄붾뱶뿉꽌 쑀떖엳 蹂댁븘빞 븷 寃껋 abstract 媛 遺숈뼱 엳뒗 겢옒뒪쓽 깮꽦옄씠떎.

   TObj = class
   public
     Constructor Create; Virtual; Abstract;
   end;

씠 겢옒뒪 TObj.Create 媛숈 諛⑹떇쑝濡 媛앹껜瑜 깮꽦 븷 닔 뾾떎. 洹몄씠쑀뒗 깮꽦옄뿉

Abstract 異붿긽솕 吏떆뼱媛 遺숈뼱 엳湲 븣臾몄씠떎. 뙣꽩媛뺤쥖瑜 蹂 젙룄硫 異붿긽솕뿉 빐

뼱뒓젙룄 븘떆寃좎留, 씠 吏떆뼱媛 遺숆쾶 릺硫 硫붿꽌뱶 젙쓽留 븷肉 援ы쁽 븯쐞겢옒뒪뿉꽌

븯뿬빞 븳떎뒗 썝移숈씠 쟻슜맂떎.

떎떆留먰빐 씠 겢옒뒪瑜 뜥 癒뱀쑝젮硫 떎瑜 겢옒뒪媛 븘슂븯떎뒗 뼐湲곌 맂떎.

洹몃옒꽌 씠 겢옒뒪瑜 뜥 癒뱀쓣 닔 엳뒗 떎瑜 겢옒뒪 븯굹瑜 留뚮뱾옄.

   TFactoryObj = class(TObj)
   private
     constructor Create;override;
   public
     class function GetObj : TObj;//뼐媛 諛붾줈 Factory Method 떎. 媛앹껜瑜 깮꽦빐꽌 由ы꽩븳떎.
   end;

쐞 겢옒뒪쓽 뿭솢 TObj 媛앹껜瑜 깮꽦떆耳 GetObj 쓽 諛섑솚媛믪쑝濡 룎젮 二쇰뒗 뿭솢 諛뽰뿉뒗 븯吏 븡뒗떎.

Abstract 씤 TObj.Create 瑜 吏곸젒援ы쁽븯湲 쐞빐 override 瑜 궗슜뻽떎. 씠寃껋쓣 쟾臾몄슜뼱濡 ConCreate 씪 븳떎.

GetObj 븵뿉 class (Static Method) 瑜 遺숈씤 씠쑀뒗 겢옒뒪 媛앹껜 깮꽦쓣 쐞빐 삉븯굹쓽 겢옒뒪 媛앹껜瑜

깮꽦븳떎뒗 寃껋씠 긽떦엳 臾댁쓽誘명븳 씪씠湲 븣臾몄씠떎. class 瑜 遺숈씠寃 릺硫 媛앹껜깮꽦 怨쇱젙쓣 깮왂 븷 닔 엳떎.

 

吏湲덇퉴吏쓽 궡슜씠 뙥넗由 硫붿꽌뱶쓽 빑떖삎깭씠떎. 씠 씠긽룄 씠븯룄 뾾떎. 씠젃寃뚮쭔 蹂대㈃ 젙留 媛꾨떒븳寃

媛숈뜲 씠嫄 씠 媛쒕뀗쓣 옒紐 뙆븙븯뒗 엳뒗 궗엺뱾씠 깭諛섏씤 寃껋씠 떎솕떎.

 

떎떆젙由ы븯옄硫, 뼱뼡 겢옒뒪(TObj) 媛 엳뒗뜲, 씠 겢옒뒪쓽 깮꽦옄媛 Abstract 씪뒗 씠쑀 븣臾몄뿉

TObj.Create 媛숈 諛⑹떇쑝濡 媛앹껜瑜 吏곸젒 깮꽦 븷 닔 뾾떎. 빐꽌 媛앹껜瑜 떊 깮꽦빐二쇰뒗 겢옒뒪瑜

留뚮뱺썑 洹 겢옒뒪쓽 硫붿꽌뱶뿉 媛앹껜瑜 깮꽦빐 떖씪怨 슂泥빐빞 븯뒗뜲, 洹 슂泥쓣 泥섎━빐 二쇰뒗 꽍씠

諛붾줈 Factory Method 뼐湲곕떎.

 

Factory Method 뿉 븳 援ъ“뙆븙 씠易ㅼ뿉꽌 옒 릺뿀쑝由щ씪 蹂몃떎.

 

洹몃윴뜲 씠뵶 吏볦쓣 솢 븯뒗 寃껋씪源? 겢옒뒪瑜 吏곸젒 깮꽦빐꽌 벐硫 릺吏 솢 뙥넗由 硫붿꽌뱶 媛쒕뀗쓣 몢뼱

媛앹껜瑜 깮꽦빐빞 븯뒗 寃껋씪源? 떎쓬怨 媛숈 씠쑀瑜 뱾닔 엳寃좊떎.

 

1. 媛앹껜쓽 罹≪뒓솕

   媛앹껜쓽 罹≪뒓솕 留먯 돺寃 留먰빐 媛앹껜瑜 땳떆궎뒗 寃껋씠떎. 겢옒뒪瑜 媛앹껜솕 빐꽌 궗슜븯뒗

   궗슜옄뿉寃 媛앹껜媛 뼱뼡떇쑝濡 깮꽦릺뒗吏 援녹씠 븣由ш퀬 떢吏 븡쓣 븣媛 엳떎. 븘땲 븣븘슂媛

   뾾쑝땲 떊寃쎌벐吏 留먮씪怨 븯怨좏뵆 븣媛 엳떎. 씠윴 寃쎌슦  理쒖쥌쟻쑝濡 깮꽦맂 媛앹콈留뚯쓣 꽆寃⑥<뒗 삎떇쓣

   痍⑦븯誘濡쒖뜥 땳꽦쓣 媛吏 닔 엳떎.

 

2. 떛湲넠쓽 媛쒕뀗泥섎읆 媛앹껜쓽 깮꽦쓣 궗슜옄쓽 렪쓽뿉 留욊꺼꽌뒗 븞릺뒗 寃쎌슦媛 엳떎.

   삁瑜 뱾뼱 봽濡쒓렇옩궡뿉꽌뒗 TObj 쓽 媛앹껜媛 뵳 5媛쒓퉴吏留 깮꽦씠 뿀슜릺뼱빞 븳떎怨 媛젙븯硫

   TObj.Create 瑜 留 궗슜븯寃 릺硫 媛앹껜쓽 깮꽦씠 臾대텇蹂꾪븯寃 릺뼱 뼱뼡 臾몄젣媛 珥덈옒맆 닔룄 엳湲

   븣臾몄씠떎. 씠윴寃쎌슦 뙥넗由 硫붿꽌뱶媛 媛앹껜쓽 깮꽦쓣 넻젣븯뒗 뿭솢쓣 븷 닔 엳떎.

 

3. TObj 쓽 깮꽦옄쓽 留ㅺ컻蹂닔쓽 삎깭굹 媛닔媛 諛붾뚮㈃ TObj 瑜 媛졇떎 벐뒗 븯쐞 겢옒뒪쓽 紐⑥“由 諛붽퓭빞

   븯뒗 遺덊렪븿씠 엳떎. 씠윴寃쎌슦 뙥넗由щ 궗슜븯硫 뼱뒓젙룄 닔怨좊 뱾 닔 엳떎.

 

씠긽쑝濡 뙥넗由 硫붿꽌뱶뿉 빐 븣븘 蹂댁븯떎. 삁젣냼뒪瑜 留뚮뱾뼱꽌 泥⑤빐 몢뿀쑝땲,

삁젣瑜 蹂대㈃꽌 醫 뜑 솗떎엳 옄湲 寃껋쑝濡 留뚮뱾湲곕 諛붾떎.