Á¦¸ñ : beans¿¡ ´ëÇØ... ±Û¾´ÀÌ: ¼Õ´Ô(guest) 2004/11/12 17:03:29 Á¶È¸¼ö:10514 ÁÙ¼ö:17 |
|
¾È³çÇϼ¼¿ä...^^
¾ÆÁ÷ ³»°øÀÌ ¸¹ÀÌ ºÎÁ·ÇÑ »õ³¢ °³¹ßÀÚÀÔ´Ï´Ù..
Á¦°¡ ÇöÀç ÇÁ·ÎÁ§Æ®¸¦ ¼öÇà ÁßÀä
beansÀÇ Á¤È®ÇÑ °³³äÀ» ¾Ë°í ½Í¾î¼ ÀÌ·¸°Ô ±ÛÀ» µå¸³´Ï´Ù.
Á¦ »ý°¢¿¡´Â ´Ü¼øÈ÷ get,setÀ» Æ÷ÇÔÇÑ´Ù±¸Çؼ beanÀ̶ó°í »ý°¢ÇÏÁö ¾Ê½À´Ï´Ù.
jsp¿Í beanÀ» »ç¿ëÇÑ ÇÁ·ÎÁ§Æ®¶ó ¼Ò°³ÇÏ·Á¸é beanÀ» È¿À²ÀûÀ¸·Î »ç¿ëÇØ¾ß¸¸ ÇÑ´Ù°í
»ý°¢µÇ±â ¶§¹®ÀÔ´Ï´Ù.
Á¦°¡ »ý°¢Çϱ⿡ get,setÀ» Æ÷ÇÔÇÏ´Â °ÍÀº jsp¿¡¼ µ¥ÀÌÅ͸¦ È¿À²ÀûÀ¸·Î ³Ö°í »©±â
À§Çؼ¶ó »ý°¢Çß½À´Ï´Ù. Áï bean.getXXX()¶ó´Â ½ÄÀÌ ¾Æ´Ñ getPropertyµîÀÇ Å±׸¦
»ç¿ëÇÏ¿© µ¥ÀÌÅ͸¦ °ü¸®ÇÏ´Â °ÍÀÌÁö¿ä...
À§¿Í °°Àº Àǹ®À» °¡Áø °ÍÀº Á¦ ¿·ÀÚ¸®¿¡ ÀÖ´Â °³¹ßÀÚ°¡ ²À get, setÀ» ½á¾ß ÇÏ
³Ä±¸ ¹°¾îº¸´õ¶ó±¸¿ä...
Èûµé°Ô...
±×·¯¸é¼ ÀÚ½ÅÀº º¯¼ö ¼±¾ð½Ã publicÀ¸·Î ¼±¾ðÇØ¼ »ç¿ëÇß°í get, setÀº ¾È½è´Ù±¸
ÇÏ¸é¼ ±×°É º¸°í ´Ù¸¥ »ç¶÷µéµµ ÀڽŰú µ¿ÀÏÇÑ ¹æ¹ýÀ¸·Î ÄÚµùÀ» ÇÏ´õ¶ó±¸ ÇØ¼¿ä..
±×·³...ÁÁÀº ´äº¯ ºÎʵ右´Ï´Ù...^^
|
Á¦¸ñ : Re: Áö±æ°Ç ÁöÄѾßÁÒ ¤¾¤¾ ±Û¾´ÀÌ: ÀÌÈñ½Â(anoripi) 2004/11/15 00:55:23 Á¶È¸¼ö:1463 ÁÙ¼ö:20 |
|
¹Ù·Î ÆÛºí¸¯ Çʵ带 ¾²´Â °ÍÀº ÀÏ´Ü ÀÚ¹ÙºóÁî Ç¥ÁØ¿¡ ¾î±ß³³´Ï´Ù. Ç¥ÁØÀº °³¹ßÀڵ鰣ÀÇ
¾à¼ÓÀÌ´Ï ÁöÄÑ¾ß ÇÑ´Ù°í »ý°¢ÇÕ´Ï´Ù. ¿äÁòÀº ÀÚµ¿ »ý¼ºµµ ÇØÁÖ´Ï ±ÍÂúÁöµµ ¾Ê±¸¿ä.
¶Ç ¿äÁò Byte Code Engineering À» ÇÏ´Â ¶óÀ̺귯¸®µéÀÌ ¸¹½À´Ï´Ù. Áï getter/setter
¸Þ¼Òµå°¡ È£Ãâ µÉ ¶§ µ¥ÄÚ·¹À̼ÇÀ» ÇØ¼ ƯÁ¤ ¿ÀÆÛ·¹À̼± (e.g. validation) ÀÌ ¼öÇàµÇ
µµ·Ï ÇÑ´Ù´Â À̾߱âÁö¿ä. ¶Ç BCE ¾ÈÇÑ´Ù ÇØµµ ¹ë¸®µ¥À̼ÇÀ̳ª, ÇÁ·ÎÆÛƼ A °¡ ¹Ù²î¸é
ÇÁ·ÎÆÛƼ B °¡ ¹Ù²ï´Ù´øÁö ÇÏ´Â °æ¿ìµµ ÀÖ°í¿ä.
get/setProperty(String propName [, Object value]) ¸¦ ÀÌ¿ëÇÑ ºóÀº º¸Åë
DynaBean À̶ó ºÎ¸¨´Ï´Ù. Ç¥ÁØÀº ¾Æ´Ï°í Commons-beanutils ¿¡¼ ³ª¿Â ¿ë¾îÀÔ´Ï´Ù.
½ºÆ®·¯Ã÷¿¡µµ ÀÖÁÒ? ³ª»Û ¹æ¹ýÀ̶ó°í ¸»ÇÒ ¼ö´Â ¾ø°ÚÁö¸¸ ÇÁ·ÎÆÛƼ ¸íÀ» ¹®ÀÚ¿·Î
Áà¾ß ÇÏ´Ï ÄÄÆÄÀÏŸÀÓ¿¡¼ Á¦´ë·Î ÄÄÆÄÀÏµÈ Äڵ尡 ·±Å¸ÀÓ¿¡¼ öÀÚ°¡ Ʋ¸°´Ù´øÁö
ÇØ¼ ¿Àµ¿ÀÛÇÒ ¼ö ÀÖ´Â ¹®Á¦°¡ ÀÖ¾î¼ Àú´Â ±âÇÇÇÕ´Ï´Ù. ÇÑ´Ù¸é ÀÎÅÍÆäÀ̽º¸¦ ¸¸µé°í
´ÙÀ̳ª¹ÍÇÁ·Ï½Ã·Î ¿¬°áÇØ ÁÖ°Ú½À´Ï´Ù. ¿¹Àü¿¡ »ç¿ëÇØ º¸¾Ò´Âµ¥ ±¦Âú´õ±º¿ä.
--
what we call human nature in actually is human habit.
--
http://gleamynode.net/
|
Á¦¸ñ : Re: ÀÚ¹ÙºóÁî.. ±Û¾´ÀÌ: ¹Ú¿µ·Ï(poci) 2004/11/15 22:54:02 Á¶È¸¼ö:3757 ÁÙ¼ö:34 |
|
ÀÚ¹ÙºóÁî´Â Ç¥ÁØÀ̶ó±âº¸´Ù °ü½ÀÀÌÁÒ. Àü °³ÀÎÀûÀ¸·Î ¾Ç½ÀÀ̶ó°í±îÁö º¸°í ÀÖ½À´Ï´Ù.
private Çʵå¿Í public getter setterÀÇ °áÇÕÀº public Çʵ忡 ºñÇØ ÈξÀ ¸¹Àº Äڵ带
ÇÊ¿ä·Î ÇÏ°í »ç¿ëÇϱ⵵ ÈξÀ ºÒÆíÇÏÁö¸¸ ÀÌ·± ´ÜÁ¡À» »ó¼âÇÒ ¸¸ÇÑ ÀåÁ¡À» Á¦°øÇÏÁö ¾Ê½À´Ï´Ù.
ÄÚµå ÀÚµ¿ »ý¼ºÀº Æí¸®Çغ¸ÀÌÁö¸¸ ÄÚµå ÀÚµ¿ »ý¼ºÀÇ Çʿ伺ÀÌ ´À²¸Áø´Ù´Â °ÍÀº µðÀÚÀο¡
°áÇÔÀÌ ÀÖ´Ù´Â ¹ÝÁõÀϼöµµ ÀÖ½À´Ï´Ù. http://c2.com/cgi/wiki?CodeGenerationIsaDesignSmell
Á»´õ ½Ç¿ëÀûÀ¸·Î »ý°¢ÇÒ Çʿ䰡 ÀÖ´Â µí ÇÕ´Ï´Ù. ÇÁ·Î±×·¡¸Ó°¡ ÄÚµùÇÏ¸é¼ ¹º°¡ ºÒÆíÇÔÀ»
´À³¤´Ù¸é ±×°ÍÀº ¹®Á¦°¡ ÀÖ´Ù´Â Áõ°ÅÀÏ ¼ö ÀÖ½À´Ï´Ù. iBatis, Spring FrameworkÀÇ JdbcTemplate
µîÀÇ API°¡ Á¡Á¡ ÀÚ¹ÙºóÁ´Ù Map¿¡ ´ëÇÑ Áö¿øÀ» °ÈÇϰí ÀÖ´Â °Íµµ beansÀÇ ºÒÆíÇÔ¿¡
´ëÇØ ´À³¢´Â »ç¶÷ÀÌ ¸¹±â ¶§¹®ÀÔ´Ï´Ù.
field encapsulationÀÇ ÀÔÀå¿¡¼µµ getter¿Í setter°¡ ¦À» ÀÌ·ç¾î Á¸ÀçÇÏ´Â °ÍÀº ÁÁÁö
¾Ê½À´Ï´Ù. setter·Î ÇØ¾ßÇÏ´Â ÀÏÀÌ ÀÖ´Ù¸é »ý¼ºÀÚ¿¡¼ ÇÏ´Â °ÍÀÌ ÁÁÁÒ. Data Transfer
Object·Î¼ÀÇ ÀÚ¹ÙºóÁî¶ó¸é public field³ª MapÀÌ ´õ ³´°í ±× ¿ÜÀÇ °æ¿ì¶ó¸é ÀûÀýÇÑ
getter¸¸ ÀÖ´Â immutable¿¡ °¡±î¿î µðÀÚÀÎÀÌ ´õ ³´´Ù°í º¾´Ï´Ù.
ÆÄÀ̽ãÀ̳ª ±×·çºñ µîÀÇ ¾ð¾î¿¡´Â public, private¿Í °°Àº Á¢±Ù Á¦ÇÑÀÚ°¡ ¾ø½À´Ï´Ù.
°´Ã¼ÀÇ Çʵå´Â Á÷Á¢ Á¢±ÙÇÒ ¼öµµ ÀÖ°í ÀÚ¹ÙÀÇ map°ú À¯»çÇÑ ¹æ½ÄÀ¸·Î Á¢±ÙÇÒ ¼öµµ ÀÖÁÒ.
ÀÌ ¹æ½ÄÀº ÄÚµù ¹æ½Ä¿¡ ´ë´ÜÇÑ À¯¿¬¼ºÀ» °¡Á®´ÙÁÝ´Ï´Ù. field encapsulationÀ» °Á¦ÇغÁ¾ß
¾îÂ÷ÇÇ getter setter ÁÖ¸é ´Ù ¾µ °Çµ¥ ±»ÀÌ ¹®¹ýÀ¸·Î Á¦¾àÇØºÁ¾ß ½ÇÀÍÀÌ ¾ø´Ù´Â »ý°¢ÀΰÅÁÒ.
´ÙÀ½ ¸µÅ©¿¡¼ ÀÌ¿Í À¯»çÇÑ ³íÀǸ¦ º¸½Ç ¼ö ÀÖ½À´Ï´Ù.
http://c2.com/cgi/wiki?BeansConsideredHarmful
´ÙÀ½Àº ÁÖ·Î setter¿¡ ´ëÇÑ °æ°è¸¦ ´ã°í ÀÖ´Â ±ÛÀÔ´Ï´Ù.
http://www.javaworld.com/javaworld/jw-09-2003/jw-0905-toolbox-p2.html
µ¡ºÙ¿©, jsp:setProperty, jsp:getProperty µîÀÇ Å±״ ±ÇÀåÇÏÁö ¾Ê½À´Ï´Ù. JSTLÀ»
¾²½Ã´Â °Ô ÈξÀ ´õ Æí¸®ÇÏ°í °·ÂÇÕ´Ï´Ù. ºóÁîµµ, Ä÷º¼Çµµ ´Ù Áö¿øÇÕ´Ï´Ù.
----
http://youngrok.com
NHN Corp. À¥Ç÷§ÆûÆÀ
|
Á¦¸ñ : Re: ÀÚ¹ÙºóÁî.. ±Û¾´ÀÌ: ÀÌÈñ½Â(anoripi) 2004/11/16 08:53:37 Á¶È¸¼ö:1134 ÁÙ¼ö:37 |
|
²À Setter ¸¦ µÑ ÇÊ¿ä´Â ¾øÁö ¾Ê³ª¿ä? ÀÚ¹Ù ºóÁî ½ºÆå¿¡¼µµ ¾Ë ¼ö ÀÖÁö¸¸ Àбâ Àü¿ë
ÇÁ·ÎÆÛƼÀÇ °æ¿ì setter °¡ ¾ø½À´Ï´Ù.
MapÀ» DTO·Î ÀÌ¿ëÇÒ °æ¿ì Java 5 ÀÇ generics ¸¦ »ç¿ëÇÏÁö ¾ÊÀ¸¸é validation À» ÇØ¾ß ÇÏ´Â
¹®Á¦µµ ÀÖ°í¿ä. Map ÀÇ key ¶Ç´Â value °¡ null ÀÎ °æ¿ìµµ ÀÖÀ» ¼ö ÀÖ°í, ¸¸¾à Java 5 ¿¡¼
»ç¿ëµÇÁö ¾ÊÀº °æ¿ì¿¡´Â ÇÁ·ÎÁ§Æ®À¸ ¸®½ºÅ©¸¸ ³ôÀÌ´Â °á°ú¸¦ °¡Á®¿É´Ï´Ù. Â÷¶ó¸® annotationÀ»
ÀÌ¿ëÇØ getter/setter ¸¦ ÀÚµ¿ »ý¼ºÇÏ´Â °Ô ³´Áö ¾Ê³ª¿ä? groovy µµ ±×·± ±â´É Á¦°øÇÑ´Ù°í
ÇÏ´õ±º¿ä.
±×¸®°í ÁֽЏµÅ©´Â Àß ÀÐ¾î º¸¾Ò½À´Ï´Ù¸¸. c2.com ¿¡¼´Â ¹Ù·Î ÆÛºí¸¯ Çʵ带 »ç¿ëÇÏ´Â °ÍÀÌ
¾Æ´Ï¶ó getter ¹× setter ¸Þ¼Òµå¸¦ °ÅÄ¡°í ÀÖ¾î encapsulation ÀÇ ¿©Áö¸¦ ÁÖ°í ÀÖ½À´Ï´Ù.
¾Ù·± Ȧ·´ÀÇ ±â»ç´Â setter ¸¦ ´Ü¼øÈ÷ ³ª»Ú´Ù°í ÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó, ÀÌ ÇÁ·ÎÆÛƼÇÑÅ× Á¤¸» setter
°¡ ÇÊ¿äÇÑÁö Àß ¸ô¶ó¼ ¹«ÀÛÁ¤ setter ¸¦ ³Ö´Â °Í¿¡ ´ëÇÑ °æ°è¸¦ Ç϶ó´Â ³»¿ë °°±º¿ä. µû¶ó¼
setter °¡ ³ª»Ú´Ù°Å³ª ÆÛºí¸¯ ÇÊµå ¾×¼¼½º¿¡ ´ëÇÑ ¿ËÈ£´Â ¾Æ´Ï°í, µû¶ó¼ ÀûÀýÇÑ ºÎ¿¬Àº ¾Æ´Ñ °Í
°°³×¿ä.
ƯÈ÷ setter ¸Þ¼Òµå°¡ ¾øÀ» °æ¿ì bug tracability °¡ ÇöÀúÈ÷ ¶³¾îÁý´Ï´Ù. setter ¿¡¼
null À» üũÇÑ´Ù´øÁö ÇÏÁö ¾Ê°í ¹Ù·Î Çʵ带 ¼³Á¤ÇÏ°Ô µÇ¸é ¹ö±×°¡ ¹ß»ýÇÏ´Â ½ÃÁ¡°ú ¿¹¿Ü°¡
¹ß»ýÇÏ´Â ½ÃÁ¡¿¡ Â÷À̰¡ ¹ß»ýÇÏ°Ô µÇ¾î¼ ÃßÀûÀÌ »ý°¢º¸´Ù ÈξÀ ¾î·Á¿öÁú ¼öµµ ÀÖ½À´Ï´Ù. ´Ü¼øÈ÷
½ºÅà Ʈ·¹À̽º¸¸ º¸°í ¹ö±×¸¦ ãÀ» ¼ö ÀÖ´À³Ä µð¹ö°Å¸¦ µ¹·Á¾ß µÇ´À³ÄÀÇ Â÷ÀÌ´Â Àß ¾Æ½Ã¸®¶ó
º¾´Ï´Ù.
Äڵ带 »ý¼ºÇÏ´Â °ÍÀÌ ¿À´Ã³¯¿¡´Â ÅøÀÇ ¿ªÇÒÀÌÁö¸¸, ¾ÕÀ¸·Î´Â ±×·± °ÍµéÀÌ ÄÄÆÄÀÏŸÀÓÀ̳ª
·±Å¸ÀÓ¿¡ ÀϾ°Ô µÉ °ÍÀ¸·Î »ý°¢µË´Ï´Ù. µû¶ó¼ ÄÚµå »ó¿¡¼´Â objectA.name = "A"; ¶ó´Â
Äڵ尡 ½ÇÁ¦ ·±Å¸ÀÓ¿¡¼´Â objectA.setName("A"); ·Î ¹Ù²î°Ô µÇ°í ÀÚµ¿ »ý¼ºµÈ setter Äڵ忡´Â
AOP ½ºÅ¸ÀÏ·Î annotation µÈ validation À̳ª ±âŸ ¹®ÀåÀÌ patch µÇ°ÚÁÒ. Áï groovy µîÀÇ
¾ð¾î¿¡¼ÀÇ = ¿¬»êÀÚ´Â Java ¿¡¼Ã³·³ ´Ü¼øÇÑ ´ëÀÔ¹®ÀÌ ¾Æ´Ï´Ï ´Ü¼øÇÏ°Ô ºñ±³Çϱâ´Â ÈûµéÁö
¾ÊÀ»±î ÇÕ´Ï´Ù.
ÇöÀç ¹æ±Ý ¸»¾¸µå¸° ±â´ÉÀÌ ¿Ïº®Çϸ鼵µ Æí¸®ÇÏ°Ô Á¦°øµÇ°í ÀÖ´Â ¾ð¾î³ª ÅøÀº ±×´ÙÁö ¾ø´Â °Í
°°°í, ´Ù¸¸ Java 5.0 ÀÌ ¹ßÇ¥µÇ°í apt ¶ó´Â ÄÄÆÄÀÏ ÅøÀÌ ÇÔ²² ¹øµéµÇ¸é¼ ÀÌ¿¡ ´ëÇÑ °¡´É¼ºÀº
ÇÑÃþ ´õ Ä¿Á³´Ù°í º¾´Ï´Ù.
--
what we call human nature is actually human habit.
--
http://gleamynode.net/
|
Á¦¸ñ : Re: setter ±Û¾´ÀÌ: ¹Ú¿µ·Ï(poci) 2004/11/16 12:53:53 Á¶È¸¼ö:963 ÁÙ¼ö:53 |
|
setter¿¡ ´ëÇÑ ¸µÅ©´Â Á¦ ÁÖÀå¿¡ ´ëÇÑ ºÎ¿¬À̶ó±âº¸´Ù setter¿¡ ´ëÇÑ °æ°è¸¦ ´ãÀº
¸µÅ©·Î ¼Ò°³ÇÑ °ÍÀÔ´Ï´Ù. ±×¸®°í ±× ¸µÅ©¿¡¼µµ getter & setter°¡ ¸¹ÀÌ ³ªÅ¸³ª´Â
°æ¿ìÀÇ µðÀÚÀÎ ¹®Á¦¿¡ ´ëÇÑ ¾ð±Þµµ Çϰí ÀÖÁÒ.
ºóÁ DTO·Î ÀÌ¿ëÇÒ °æ¿ì´Â setter¸¦ µÑ ¼ö ¹Û¿¡ ¾ø½À´Ï´Ù. ½ÇÁ¦ÀûÀ¸·Î DTO´Â
°´Ã¼ óÀ½ »ý¼ºÇÒ ¶§ ´Ü ÇÑ ¹ø settingÀÌ ÀϾ¿¡µµ ºÒ±¸Çϰí ÀÌ ¶§ »ç¿ëÇϱâ
À§ÇØ setter¸¦ µÑ ¼ö ¹Û¿¡ ¾øÁÒ. °´Ã¼°¡ Ä¿Áö¸é ¸ðµç °ªÀ» »ý¼ºÀÚ¿¡ ³Ñ±æ ¼öµµ
¾øÀ¸´Ï±î¿ä. °á±¹ ³ªÁß¿¡´Â ½á¼´Â ¾ÈµÇ´Â setter°¡ óÀ½ »ý¼ºÇÒ ¶§ ÇÊ¿äÇÏ´Ù´Â
ÀÌÀ¯·Î ¸¸µé¾îÁö±â ¶§¹®¿¡ field encapsulationÀ» ÇØÄ¡°Ô µÇÁÒ. À̰ÍÀÌ ºóÁî°¡
field encapsulationÀ» À§ÇØ public field¿¡ ´ëºñÇÑ ºÒÆíÇÔÀ» °¨¼öÇϸ鼵µ
Á¤ÀÛ field encapsulationÀº Á¦´ë·Î ´Þ¼ºÇÏÁö ¸øÇÏ´Â ÀÌÀ¯ÁÒ.
°á±¹ DTO´Â ¾îÂ÷ÇÇ getter & setter°¡ ´Ù ÇÊ¿äÇϰí DTO´Â ¼º°Ý»ó ÇÊµå ³»¿ëÀÌ
ÀÚÁÖ ¹Ù²ð ¼ö ÀÖ½À´Ï´Ù. ·±Å¸ÀÓ¿¡ µ¿ÀûÀ¸·Î ¹Ù²ð °¡´É¼ºµµ ÀÖ±¸¿ä. ÀÌ·± Á¡À»
°í·ÁÇÑ´Ù¸é ´Ü¼ø MapÀÌ ºóÁ´Ù È¿À²¼ºÀÌ ³ôÁÒ. °Ô´Ù°¡ DTO°¡ °¡Àå ¸¹ÀÌ »ç¿ëµÇ´Â
¿µ¿ªÀÎ µ¥ÀÌÅͺ£À̽º¿¡¼ ÀÌ¹Ì ¸¹Àº ÅøµéÀÌ ºóÁ´Ù MapÀ» ¹Ù¶óº¸°í ÀÖ½À´Ï´Ù.
null 󸮳ª ºÎ°¡ÀûÀÎ validationµµ ºóÁî°¡ ³´´Ù°í ÇÒ ¼ö ¾ø½À´Ï´Ù. ¿ÀÈ÷·Á ÀÌ·±
ºÎºÐÀ» ÀÚµ¿ÈÇϱâ´Â MapÀÌ ÈξÀ ½±½À´Ï´Ù. ºóÁîÀÇ °æ¿ì getter³ª setter¿¡
ÀÏÀÏÀÌ ÄÚµùÀ» ÇÏ°í ¸¸¾à ¸ðµç Çʵ带 ´Ù °Ë»çÇØ¾ßÇϰųª ³»¿ëÀ» ·Î±×·Î Âï°í
½Í´Ù¸é ¸®Ç÷º¼ÇÀ» ½á¾ßÇϴµ¥ MapÀº ÈξÀ °¡º±°Ô ó¸®ÇÒ ¼ö ÀÖÁÒ. MapÀ» »ó¼ÓÇØ¼
ÀÌ·± °ÍµéÀÌ ÀÚµ¿À¸·Î ÀϾ°Ô ÇÒ ¼öµµ ÀÖ±¸¿ä.
bug tracablility°¡ ¶³¾îÁú ¼ö ÀÖ´Ù´Â °¡´É¼ºÀÌ ÀÖ´Â °ÍÀº ¸Â½À´Ï´Ù. ÇÏÁö¸¸,
¿ì¼± Á¦ °æÇè»óÀ¸·Î´Â mapÀ¸·Î ÀÎÇØ ¹ö±× ÃßÀûÀÌ Èûµé¾îÁö´Â °æ¿ì´Â °ÅÀÇ ¾ø¾ú½À´Ï´Ù.
±×¸®°í »ç½Ç ÀÌ·± ¹®Á¦ÀÇ ÃßÀûÀº Å×½ºÆ®·Î ÃæºÐÈ÷ Ä¿¹ö°¡ °¡´ÉÇÕ´Ï´Ù. ½ÇÁ¦·Î
mapÀ¸·Î ÀÎÇÑ À¯¿¬¼º°ú »ý»ê¼º Áõ°¡¸¦ ºñ±³Çغ»´Ù¸é ÀÌ ºÎºÐÀÇ ´ÜÁ¡Àº ±×¸®
Áß¿äÇÑ ¹®Á¦°¡ ¾Æ´Ï¶ó°í º¾´Ï´Ù.
ÄÚµå »ý¼ºÀÌ ÄÄÆÄÀÏ Å¸ÀÓÀ̳ª ·±Å¸ÀÓ¿¡¼ Áö¿øµÈ´Ù¸é ºÎ°¡ÀûÀÎ ÅøÀ» ¾²´Â °Íº¸´Ù
ºÐ¸í ÈξÀ ÁÁ°ÚÁÒ. ±×·¯³ª, ¿©ÀüÈ÷ ÀÚµ¿À¸·Î »ý¼ºÇÒ ¼ö ÀÖ´Â ÄÚµå¶ó¸é ¿Ö
ÀϺη¯ »ý¼ºÇؾßÇϴ°¡ ÇÏ´Â °í¹ÎÀº ÇØ¾ßÇÒ °ÍÀÔ´Ï´Ù.
BeansConsideredHarmfulÀÇ ³íÀǸ¦ ¾î¶»°Ô º¸¼Ì´ÂÁö ¸ð¸£°Ú½À´Ï´Ù¸¸, °Å±â¿¡´Â
public field¿¡ ºñÇØ ºóÁî°¡ ³ªÀº Á¡ÀÌ º°·Î ¾ø´Ù´Â ÀǰßÀÌ ¸¹ÁÒ. À̰ÍÀÌ
public field¸¦ ¾²ÀÚ´Â À̾߱â¶ó±âº¸´Ù´Â ºóÁî°¡ º°´Þ¸® ÀåÁ¡ÀÌ ¾ø´Ù´Â ¶æÀ¸·Î
¹Þ¾ÆµéÀÌ´Â °ÍÀÌ ÁÁÀ» µí ÇÕ´Ï´Ù.
Àú °³ÀÎÀûÀ¸·Î´Â public field¸¦ ¾²´Â °Íµµ ÁÁ´Ù°í º¾´Ï´Ù. ¿¹¸¦ µç ÆÄÀ̽ãó·³
Á¢±Ù Á¦ÇÑÀº °É¾î¼ ¾ïÁö·Î ¸·´Â °Íº¸´Ù API ¹®¼, ÁÁÀº Ŭ·¡½º µðÀÚÀÎÀ» ÅëÇØ
ÀÚ¿¬½º·´°Ô access violationÀÌ ÀϾÁö ¾Ê°Ô ÇÏ´Â °ÍÀÌ ÁÁ´Ù°í »ý°¢ÇÕ´Ï´Ù.
Àü ¿äÁòÀº DTO´Â °ÅÀÇ Ç×»ó MapÀ» »ç¿ëÇÏ°í ±× ¿ÜÀÇ °æ¿ì´Â setter ¾øÀÌ »ý¼ºÀÚ¿¡¼
ÆÄ¶ó¹ÌÅ͸¦ ¹Þ°í ²À ÇÊ¿äÇÑ ºÎºÐ¸¸ getter¸¦ µÎ°í ÀÖ½À´Ï´Ù. ´Ü¼øÈ÷ ÇÊµå ¸â¹ö¸¦
¸®Åϸ¸ ÇÏ´Â getterµµ °¡±ÞÀû ¾È ¸¸µé·Á°í Çϰí ÀÖÁÒ.
¾î¶°Å³ª °³°³ÀÎÀÌ ÆÇ´ÜÀº ´Ù ´Ù¸¦ ¼ö ÀÖ°Ú½À´Ï´Ù¸¸, ÀÚ¹Ù ºóÁî°¡ ³Î¸® ¾²ÀδٴÂ
ÀÌÀ¯·Î ±×³É ¹Þ¾ÆµéÀ̱⿡´Â ÇØ·Î¿òÀÌ ÀûÁö ¾ÊÀ¸¹Ç·Î ´Ù½Ã ÇÑ ¹ø °ËÅäÇØº¸´Â
½Ã°£ÀÌ ÇÊ¿äÇÒ °ÍÀÔ´Ï´Ù.
----
http://youngrok.com
NHN Corp. À¥Ç÷§ÆûÆÀ
|
Á¦¸ñ : Re: setter ±Û¾´ÀÌ: ÀÌÈñ½Â(anoripi) 2004/11/16 13:17:31 Á¶È¸¼ö:1090 ÁÙ¼ö:38 |
|
ÈĹݺο¡ ¸»¾¸µå·Èµí ¾ð¾î³ª ÅøÀÇ Áö¿øÀÌ ÀÖ´Ù¸é ³»ºÎ¿¡ getter/setter °¡ ¾²ÀÌµç ¾î¶»µç
»ç½ÇÀº Áß¿äÇÑ °ÍÀÌ ¾Æ´Ï°ÚÁÒ. ³»ºÎÀûÀ¸·Î ¾ð¾îÀÇ ¿ä¼Ò°¡ ¾î¶»°Ô ±¸ÇöÀÌ µÇ´À³Ä´Â ¾î¶»°Ô
º¸¸é ³ªÁßÀÇ ¹®Á¦´Ï±î¿ä.
¾ÈŸ±î¿î °ÍÀº ÇöÀç ±×·± °ÍÀÌ Áö¿øµÇÁö ¾Ê´Â´Ù´Â °ÍÀ̰í, ±×¸¦ ¾î¶»°Ô ÇØ°áÇÏ´À³ÄÀÇ ¹®Á¦Àε¥..
»ç½Ç ºóÁîÀÇ ¹æ½ÄÀÌ 100% ¿ÇÀº °ÍÀÌ ¾Æ´Ï¶ó »ç½Ç»óÀÇ Ç¥ÁØÀ̶ó´Â °ÍÀÌÁÒ.
bug tracability ¿¡ ´ëÇØ ¸»¾¸µå¸®¸é.. Àú °°Àº °æ¿ì À¥ ¾îÇø®ÄÉÀÌ¼Ç °³¹ßº¸´Ù´Â ¼¹öÃø
°³¹ßÀ» ¸¹ÀÌ ÇØ¼ ±×·±°ÇÁö´Â ¸ð¸£°ÚÁö¸¸ ±×·± ¹®Á¦°¡ Áß¿äÇÏ°Ô ´À²¸Áö´õ±º¿ä. ¿¹¸¦ µé¸é,
NullPointerExceptionÀº °Ñ¿¡ º¸ÀÌ´Â Çö»óÀ̰í, ¾î´À Çʵ尡 null ÀÎÁö´Â ¶Ç ´Ù¸¥ ¹®Á¦ÁÒ:
String foo(Bar bar) {
return bar.a.length() + bar.b.length();
}
¶ó´Â Äڵ尡 ÀÖ´Ù ÇßÀ» ¶§ ÇØ´ç ¶óÀο¡¼ NPE °¡ ¹ß»ýÇßÀ» °æ¿ì a °¡ null ÀÎÁö b °¡ null ÀÎÁö
¸ðÈ£ÇÑ ºÎºÐÀÌ ÀÖ½À´Ï´Ù. ¹°·Ð ¶óÀÎÀ» ³ª´² ¾²¸é µÇ±âµµ ÇϰÚÁö¸¸ ¸Å¹ø °í·ÁÇϱ⵵ Èûµé°í,
null ÀÏ °æ¿ì¿¡ ´ëÇÑ Æ¯ÈµÈ Ã³¸®¸¦ a ¿Í b ¿¡ Á¢±ÙÇÏ´Â ´Ù¸¥ ºÎºÐ¿¡¼µµ Ç×»ó ÇØ ÁØ´Ù¸é ºñÈ¿À²
ÀûÀ̱⵵ Çϱ¸¿ä. À̰ÍÀº ¸Å¿ì °£´ÜÇÑ ¿¹À̰í, ¿©·¯ ·¹À̾î·Î ÀÌ·ç¾îÁø ¼¹ö ¾îÇø®ÄÉÀ̼ÇÀÇ
°æ¿ì ±× È¿°ú°¡ 2 ·¹ÀÌ¾î µÚ (½ÉÁö¾î´Â ´Ù¸¥ ¸Ó½Å)¿¡ ³ªÅ¸³´Ù´øÁö ÇÏ¿© °ñÄ¡°¡ ¾ÆÇà ¶§°¡
ÀÖ½À´Ï´Ù.
ÇÏÁö¸¸ ¸¸¾à setter ¿¡¼ set ÇÏ´Â ³à¼®ÀÌ null À϶§ NPE ¸¦ ´øÁö°Å³ª, À̸¦ ºó ¹®ÀÚ¿·Î
ÀÚµ¿ ġȯÇÑ´Ù¸é ÀÏÀÌ ÈξÀ ¼ö¿ùÇØ Áý´Ï´Ù. »ý¼ºÀÚÀ̵ç setterÀÌµç ¾îµð¿¡¼±°¡´Â °¡´ÉÇÑ ÇÑ
Á¶±â¿¡ ¹®Á¦°¡ »ý°åÀ» °æ¿ì À̸¦ ÇØ°áÇϰųª ¾Ë·Á¾ß ÄÚµåÀÇ ¸®½ºÅ©°¡ °¨¼ÒµÉ°ÍÀ̶ó´Â°Ô Á¦
»ý°¢ÀÔ´Ï´Ù.
setter ¿Í getter °¡ ¹ø°Å·Ó°í ºñÈ¿À²ÀûÀÎ ¸éÀÌ ÀÖ´Â °ÍÀº ¸ÂÁö¸¸ ¾Æ¿¹ ºÒÇÊ¿äÇÑ °ÍÀº ¾Æ´Ï¶ó´Â
°ÍÀÌÁÒ. ¿µ·Ï´Ô°ú ±×·¸°Ô Å« °ßÇØ Â÷À̰¡ ÀÖ´Â °ÍÀº ¾Æ´Õ´Ï´Ù. °³Ã¼°¡ immutable À̶ó¸é
´ç¿¬È÷ Constructor ¸¦ ÀÌ¿ëÇÑ Ãʱâȸ¦ ¼±È£Çϰí, ÆÄ¶ó¸ÞÅͰ¡ ¸¹À» °æ¿ì Á»´õ ´Ù¾çÇÑ Å¸ÀÔÀ»
¸¸µé¾î ÆÄ¶ó¸ÞÅÍ ¼ö¸¦ ÁÙÀÔ´Ï´Ù. ´Ù¸¸ Àú´Â setter ¸¦ ½á¾ß ÇÒ °æ¿ì de facto standard¸¦
¾à°£ º¸¼öÀûÀ¸·Î µû¸£´Â ¸éÀÌ ÀÖ´Ù°í ºÁ¾ß °ÚÁÒ?
--
what we call human nature in actually is human habit.
--
http://gleamynode.net/
|
Á¦¸ñ : Re: ±× ºÎºÐÀº ÇØ°áÃ¥ÀÌ ÀÖ½À´Ï´Ù. ±Û¾´ÀÌ: ¹Ú¿µ·Ï(poci) 2004/11/16 14:18:59 Á¶È¸¼ö:998 ÁÙ¼ö:41 |
|
getter ¸Þ½îµå¸¦ ÀÌ¿ëÇÒ °æ¿ì Çʵ庰·Î ºÎ°¡ÀûÀÎ ÀÛ¾÷ÀÌ ¿ä±¸µÉ °æ¿ì ó¸®ÇϱⰡ
½±´Ù´Â ÀåÁ¡ÀÌ ÀÖ´Â °ÍÀº »ç½ÇÀÔ´Ï´Ù. ±×·¯³ª, ±× ºÎ°¡ÀûÀÎ ÀÛ¾÷µéÀÌ ´ëü·Î
validation, null ó¸®, ŸÀÔ º¯È¯ µîÀÓÀ» °¨¾ÈÇØº»´Ù¸é ¿ÀÈ÷·Á MapÀ» ¾²´Â °ÍÀÌ
´õ Æí¸®ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. MapÀ» »ó¼ÓÇØ¼ getÀ» ¿À¹ö¶óÀ̵åÇØ¼ get(key, defaultValue)¿Í
°°Àº ¹æ½ÄÀ¸·Î »ç¿ëÇÏ°Ô ÇÒ ¼öµµ ÀÖ°í, XML ¼³Á¤À̳ª Ŭ·¡½º ³»ºÎÀÇ ¾à°£ÀÇ Äڵ带
ÅëÇØ¼ validationÀ» ÆíÇÏ°Ô ÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ÀϹÝÀûÀÎ DTO¶ó¸é ÀÌ·± ¹®Á¦¿¡¼µµ
MapÀÌ ºóÁ´Ù ³´´Ù°í ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹ÀÇ ±× ÄÚµå´Â ÀÌ·¸°Ô ¹Ù²Ü ¼ö ÀÖ°ÚÁÒ.
int foo(MapWrapper bar) {
return bar.get("a", "").length() + bar.get("b", "").length();
}
get(key)´Â get(key, "")¸¦ ÀÚµ¿À¸·Î ½ÇÇàÇÑ´ÙµçÁö ÇÒ ¼öµµ ÀÖ°ÚÁÒ.
setÀ» ¿À¹ö¶óÀ̵åÇØ¼ ±âº»ÀûÀÎ validationÀ» ¼öÇàÇÏ°Ô ÇÒ ¼öµµ ÀÖÀ» ²¨±¸¿ä.
¾÷¹« ¿µ¿ªÀÌ ´Ã¾î³¯¼ö·Ï ¸Å¹ø ºóÁî Ŭ·¡½º¸¦ ¸¸µå´Â °Íº¸´Ù ÀÌ·± ¹æ½ÄÀÌ ´õ
»ý»êÀûÀÏ °Ì´Ï´Ù.
±×¸®°í »ç½Ç ºóÁî°¡ °ü·ÊÀ̱ä Çϳª, DTO¿¡ À־ Map ¿ª½Ã ¸¶Âù°¡ÁöÀÔ´Ï´Ù.
ÇöÀç Ãß¼¼·Î´Â ºÐ¸íÈ÷ DTO·Î MapÀ» »ç¿ëÇÏ´Â ¶óÀ̺귯¸®µéÀÌ ´Ã¾î°¡°í ºóÁ
»ç¿ëÇÏ´Â °ÍÀº ÁÙ°í ÀÖ½À´Ï´Ù.
±×·¯³ª, À¥º¸´Ù ÀÏ¹Ý ¼¹ö °³¹ßÀ» ¸¹ÀÌ ÇÏ½Å´Ù¸é ¾Æ¸¶µµ ´Ü¼øÇÑ DTOº¸´Ù´Â
±â´ÉÀÌ Ç³ºÎÇÑ µµ¸ÞÀÎ ¿ÀºêÁ§Æ®°¡ ´õ ÇÊ¿äÇÑ »óȲÀÏ °ÍÀÔ´Ï´Ù. ÀÌ·± °æ¿ì´Â ¸¹Àº
ÇÁ·ÎÆÛƼµéÀÇ Ã³¸®¸¦ À§ÇØ getter & setter°¡ À¯¿ëÇÏ°Ô ¾²ÀÏ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù.
±×·¯³ª, ÀÌ·± µµ¸ÞÀÎ ¿ÀºêÁ§Æ® ¿ª½Ã MapÀ» »ó¼ÓÇϰųª, wrappingÇØ¼ ¸¸µé °æ¿ì
´Ü¼ø ÇÁ·ÎÆÛƼµéÀÇ Ã³¸®¸¦ »ó´çÈ÷ Æí¸®ÇÏ°Ô ÇÒ ¼ö ÀÖ½À´Ï´Ù. °´Ã¼ÀÇ ÇÁ·ÎÆÛƼ´Â
¸ðµÎ ³»ºÎ Map¿¡ ´ã°í À̸¦ get, set ÇÏ´Â °ÍÀº ´Ü¼ø ÇÁ·ÎÆÛƼ´Â MapÀÇ ÀÎÅÍÆäÀ̽º¸¦
±×´ë·Î »ç¿ëÇϰí Áß°£ 󸮰¡ ÇÊ¿äÇÑ °æ¿ì´Â ºÎ°¡ÀûÀÎ getter, setter¸¦ ¸¸µå´Â
½ÄÀÇ Á¶ÇÕÀÌ °¡´ÉÇÏÁÒ. Àú ¿ª½Ã getter & setter°¡ Àû°Ô ¾µ¼ö·Ï ÁÁ´Ù°í´Â »ý°¢ÇÏÁö¸¸
¿ÏÀüÈ÷ ¾ø¾îÁ®¾ßÇÒ °ÍÀ̶ó°í±îÁö´Â »ý°¢Áö ¾Ê½À´Ï´Ù. ÀÚ¹ÙÀÇ Æ¯¼º»ó ¿ÏÀüÈ÷
¾ø¾Ù ¼ö´Â ¾ø±âµµ Çϱ¸¿ä.
ÄÚµå »ý¼ºÀÌ ¾ð¾î Â÷¿ø¿¡¼ Áö¿øµÇ¾î¼ ÄÚµå »ý¼ºÀÎÁö ÀüÇô ¸ð¸£°í »ç¿ëÇÒ ¼ö
ÀÖ´Ù¸é ±×°ÍÀº Àúµµ ÁÁ´Ù°í º¾´Ï´Ù. ´Ù¸¸ ÇöÀç AspectJ¿Í °°Àº ¹æ½ÄÀº ¾à°£Àº
³¿»õ°¡ ³²¾Æ ÀÖ´Â °ÍÀÌ ¾Æ´Ñ°¡ ½Í³×¿ä. ±×·¡¼ ÀÌ·± ¸é¿¡¼ °í¹ÎÇÒ Çʿ䰡 ¾ø´Â
ÆÄÀ̽㿡 Á¡Á¡ ²ø¸®´Â °Ç°¡ º¾´Ï´Ù.
----
http://youngrok.com
NHN Corp. À¥Ç÷§ÆûÆÀ
|
Á¦¸ñ : Re: JavaBeansÀÇ ±âº» ¸ñÀûÀº? ±Û¾´ÀÌ: »ç¶ûÀüÀï(lovewar) 2004/11/16 20:19:32 Á¶È¸¼ö:1028 ÁÙ¼ö:26 |
|
JavaBeansÀÇ ½ºÆåÀ» º¸¸é "Software component modelÀ» Á¤ÀÇÇÏ´Â °ÍÀÌ´Ù."
¶ó°í µÇ¾î ÀÖ½À´Ï´Ù.
±×·¡¼, JSP¿Í JavaBeans°£ÀÇ ¿¬°ü°í¸®¸¦ ´ÙÀ½°ú °°ÀÌ ÇØ¼®ÇÒ ¼ö ÀÖ½À´Ï´Ù.
"JSP´Â º¯°æµÇÁö ¾Ê´Â´Ù. ´Ù¸¸ JavaBeans°¡ ´Ù¸¥ JavaBeans·Î º¯°æµÉ ¼ö ÀÖ´Ù."
Áï, View ´Ü°ú Model ´ÜÀ» °¢°¢ ¿øÇÏ´Â °ÍÀ¸·Î º¯°æÇÒ ¼ö ÀÖ´Ù´Â »ç»óÀÔ´Ï´Ù.
±×·¡¼ µÇµµ·Ï JavaBeansÀÇ ÇüŸ¦ µû¸¥´Ù¸é, Â÷ÈÄ¿¡ JavaBeans¸¸À» ´Ù¸¥ ȸ»çÀÇ
JavaBeansÀ¸·Î ±³Ã¼ÇÒ ¼ö ÀÖ´Ù´Â °Í ÀÔ´Ï´Ù.(ÇöÀçÀÇ SIȯ°æ¿¡¼´Â °ÅÀÇ Àü¹«ÇÏÁö ¾ÊÀ»±î
»ý°¢ÇÕ´Ï´Ù.)
¸ðȸ»çÀÇ Á¦Ç°Áß¿¡ Component¸¦ ³¢¿ö³õÀ» ¼ö ÀÖ°Ô²û, ±¤°í¿¡ ³ª¿À´Â °ÍÀ» ºÁ¼´Â
¾Æ¸¶µµ ComponentÂÊÀ¸·Î °¡´Â ¹æÇâ¿¡¼´Â JSP¿Í JavaBeansÀÇ ±âº» »ç»óÀ» ÁöŰ´Â °ÍÀÌ ÁÁÀ» °ÍÀ¸·Î
º¾´Ï´Ù.
´Ü¼øÇÏ°Ô ObjectÀÇ °³³äÀ¸·Î ÄÚµùÀ» ÇÑ´Ù¸é, ±¸Áö JavaBeansÀÇ ±Ô¾àÀ» Áöų ÇÊ¿ä´Â ¾ø½À´Ï´Ù.
-- µ¡ºÙÀÌ´Â ±Û --
¿©±â¼ ºóÁî¶õ °³³äÀº JavaBeans ¶Ç´Â Enterprise JavaBeansÀÇ °³³äÀ¸·Î º¸½Ã¸é µË´Ï´Ù.
ºóÁîÀÇ ±Ô¾àÀº ´ÙÀ½ »çÀÌÆ®¿¡¼ ãÀ» ¼ö ÀÖ½À´Ï´Ù.
http://java.sun.com/products/javabeans/downloads/index.html
|
Á¦¸ñ : Re: ÇÊ¿äÇѰ÷¿¡ ¾²½Ê½Ã¿ä..... ±Û¾´ÀÌ: À̱ÔÁÖ(29zu) 2004/11/16 23:56:25 Á¶È¸¼ö:994 ÁÙ¼ö:13 |
|
À¥Çùֿ¡¼ µ¥ÀÌÅͼº Ŭ·¡½ºµîÀÇ Çʵ忡 ´ëÇÑÁ¢±ÙÀ» getter setter·ÎÇØºÃÀÚ..
°³¹ß½Ã°£¸¸ ´Ê¾îÁø´Ù°í »ý°¢ÇÕ´Ï´Ù...
ÀÏ´Ü ÀÌ·± Ŭ·¡½º´Â ÀçȰ¿ë°°Àº°Ç ±â´ëµµ ÇÒ¼ö¾øÀ¸¸ç getter setterÅëÇØ¼ Á¢±ÙÇÒ
ÀÌÀ¯µµ º°·Î ¾ø½À´Ï´Ù...´Ü¼øÈ÷ ȸ鿡 Çѹø»Ñ¸®´Â ¿ªÇÒµîÀε¥..±»ÀÌ °øµé¿©
¸Þ¼Òµå¸¦ ¸¸µé ÀÌÀ¯´Â ¾ø´Â°ÅÁö¿ä..
Àú°°Àº°æ¿ì ÀÌ·± ÀÏȸ¼º(?) ¿¡ °¡±î¿î ±â´ÉÀ» Çϴ Ŭ·¡½ºµéÀÇ Çʵå´Â »ó´ç¼ö
public·Î ó¸®ÇϰíÀÖ±¸¿ä...
°øÅëÄÄÆÛ³ÍÆ®¿Í°°ÀÌ ¿ÜºÎÀÇ ´Ù¸¥»ç¶÷µµ ¾µÁö¸ð¸£´Â Ŭ·¡½ºÀÇ °æ¿ì¿£..
ÇʵåÁ¢±ÙÀ» setter/getter¸¦ ÅëÇØ¼ ÇϰÔÇÕ´Ï´Ù....
|
Á¦¸ñ : Re: ÇÊ¿äÇÑ °÷¿¡¼¸¸ getter/setter¸¦ »ç¿ëÇÏ´Â °ÍÀÌ ÁÁ°ÚÁÒ ±Û¾´ÀÌ: À±³²¿µ(skywatch) 2004/11/17 01:35:49 Á¶È¸¼ö:1043 ÁÙ¼ö:53 |
|
Àú ¿ª½Ã getter/setter´Â ÇÊ¿äÇÑ °÷¿¡¼¸¸ »ç¿ëÀ» ÇÏ´Â °ÍÀÌ ÁÁ´Ù°í »ý°¢À» ÇÕ´Ï´Ù.
¿äÁòÀº º¸Åë ºóÁî¶ó°í ¾ê±âÇÏ¸é ¹üÀ§°¡ ³Ð°Ô ¾ê±â¸¦ Çϱ⠶§¹®¿¡ (º¸Åë ÀÏ¹Ý Å¬·¡½ºµéµµ
ºóÁî¶ó°í ĪÇÏ´Â °æ¿ì°¡ ¸¹´õ±º¿ä...Àúµµ Á¾Á¾ ±×·± °æ¿ì¿¡ ´çȲÀÌ µÇ´õ±º¿ä...)
Á¶±Ý ¹üÀ§¸¦ ±¸ºÐÀ» Áö¾î º¸¸é DTO³ª Value Object µîÀÇ °æ¿ì¿¡´Â Àú´Â getter/setter¸¦ °ÅÀÇ
»ç¿ëÇÏÁö ¾Ê½À´Ï´Ù. ±×¸®°í À̿ʹ Á¶±Ý ´Ù¸¥ ÀǹÌÀÎ ºñÁî´Ï½º ·ÎÁ÷À» ´ã´Â ÀÚ¹ÙºóÁ
EJBÀÇ °æ¿ì¿¡´Â getter/setter¸¦ ¹Ýµå½Ã »ç¿ëÀ» ÇÕ´Ï´Ù.
VOÀÇ °æ¿ì¿¡´Â º¸Åë Æ¯Á¤ µ¥ÀÌÅÍ ±¸Á¶¸¦ ³ªÅ¸³»´Â °ÍÀ̱⠶§¹®¿¡ ±»ÀÌ °´Ã¼ÁöÇâÀÇ
EncapsulationÀ̳ª Information HidingÀÇ Æ¯¼ºÀ» ³ªÅ¸³¾ ÇÊ¿ä´Â ¾ø´Ù´Â »ý°¢ÀÔ´Ï´Ù.
¹°·Ð ƯÁ¤ °ª¿¡ ´ëÇÑ °Ë»çÀÇ ¹®Á¦ ¹× ¾î¶² °ªÀÌ ¼³Á¤ÀÌ µÉ °æ¿ì¿¡ ÀÚµ¿À¸·Î ¾î¶² ·ÎÁ÷À»
´ã¾Æ¾ß ÇÏ´Â °æ¿ìµµ »ý±æ ¼ö Àִµ¥ ÀÌ·² °æ¿ì¿¡´Â Á¶±ÝÀº ³ÐÀº ÀǹÌÀÇ getter/setter¸¦
»ç¿ëÇϱâ´Â ÇÕ´Ï´Ù. ¸Ó ¿¹¸¦ µé¸é ¿©·¯°³ÀÇ attributeÀÇ °ªÀ» Á¶ÇÕÇØ¼ ƯÁ¤ÇÑ °ªÀ»
ÀÚµ¿À¸·Î ¸¸µé¾î ³»¾ß ÇÏ´Â °æ¿ì µî¿¡ getter¸¦ »ç¿ëÀ» ÇÕ´Ï´Ù.(^^;; ¾ö¹ÐÈ÷ ¸»Çؼ ÀÌ·¯ÇÑ
±â´ÉÀ» ÇÏ´Â ¸Þ¼Òµå¸¦ ´Ü¼øÈ÷ getter¶ó°í ÇÒ ¼ö ÀÖÀ»Áö´Â Á¶±Ý ¾Ö¸ÅÇÑ °Í °°½À´Ï´Ù. º¸Åë
getter¶ó°í ¾ê±â¸¦ ÇÏ¸é Æ¯Á¤ attributeÀÇ °ªÀ» ¸®ÅÏÇÏ´Â °æ¿ì¸¦ ¸»ÇÏ´Â °ÍÀ¸·Î ´ëºÎºÐ
»ý°¢Çϰí Àֱ⠶§¹®¿¡ ±×·¡¼ ÀÏ´ÜÀº ³ÐÀº Àǹ̿¡¼ÀÇ getter¶ó°í ¾ê±â¸¦ Çß½À´Ï´Ù.)
°³¹ß¿¡¼ ÀÌ·± ½ÄÀ¸·Î public Çʵ带 °¡Áø VO¸¦ »ç¿ëÇÒ °æ¿ì¿¡´Â ¾ê±â°¡ ³ª¿Ã ¼ö ÀÖ´Â ºÎºÐÀÌ
·ÎÁ÷ÀÇ º¯°æ¿¡ ´ëÇÑ ºÎºÐÀÏ °Í °°½À´Ï´Ù. ±×·¸Áö¸¸ ½ÇÁ¦·Î VO°¡ º¯°æÀÌ µÇ¾î¾ß ÇÏ´Â °æ¿ì¿¡´Â
ÇØ´ç VO¸¦ »ç¿ëÇÏ´Â JSP ¹× ºñÁî´Ï½º ·ÎÁ÷À» ´ã°í Àִ Ŭ·¡½º ¿ª½Ã °°ÀÌ º¯°æµÇ¾î¾ß ÇÏ´Â °ÍÀÌ
º¸ÅëÀ̰ÚÁÒ. ¿¹¸¦ µé¾î ƯÁ¤ µ¥ÀÌÅÍ Ç׸ñÀÌ Ãß°¡°¡ µÈ °æ¿ì¿¡´Â ´ç¿¬È÷ DAO ¹× Entity Beans
¿ª½Ã º¯°æÀÌ µÇ¾î¾ß ÇÒ °ÍÀÔ´Ï´Ù. ±×·¡¼ ÀÌ·¯ÇÑ µ¥ÀÌÅͳª ·ÎÁ÷ÀÇ º¯°æÀº ÇÊ¿¬ÀûÀ¸·Î °ü·Ã
ºÎºÐÀÇ º¯°æÀ» º¸ÅëÀº °¡Á®¿À±â ¶§¹®¿¡ getter/setter¸¦ »ç¿ëÇÏ´Â °æ¿ì¿Í Å« Â÷À̰¡ ¾ø¾î
º¸ÀÔ´Ï´Ù.
±×¸®°í VOÀÇ ÇÊµå °ª¿¡ ´ëÇÑ ¿¡·¯ ó¸® ¹× µ¥ÀÌÅÍ Ã³¸® ·êÀº VO º¸´Ù´Â ºñÁî´Ï½º ·ÎÁ÷À» ´ã°í
Àִ Ŭ·¡½º³ª Session Beans µî¿¡¼ 󸮸¦ ÇØÁÖ¾î¾ß ÇÏ´Â ºÎºÐÀ̱⠶§¹®¿¡ ±×·¯ÇÑ ºÎºÐ¿¡
´ëÇØ¼µµ ¿ª½Ã public Çʵ带 °¡Áø VO¸¦ »ç¿ëÇÏ´Â °Í¿¡ ´ëÇÑ ºÎ´ãÀº ¾ø´Â °Í °°½À´Ï´Ù.
Èì... ÇѰ¡Áö ´õ ¾ê±â¸¦ Çϸé ÄÄÆ÷³ÍƮȳª ¸ðµâȸ¦ ÇÒ¶§ ÀÌ¿Í °°ÀÌ public Çʵ带 Á¢±ÙÇÒ ¼ö
ÀÖµµ·Ï ÇÑ´Ù¸é ¹®Á¦°¡ »ý±æ ¼ö´Â ÀÖÀ» °ÍÀÔ´Ï´Ù. ´ëÇ¥ÀûÀ¸·Î µ¿ÀÏ ÄÄÆ÷³ÍÆ®ÀÇ ÀÌÀü ¹öÀü°úÀÇ
ȣȯ¼º°ú °°Àº ¹®Á¦°¡ »ý±æ ¼ö ÀÖ°ÚÁÒ. ±×·¸Áö¸¸ ÄÄÆ÷³ÍÆ®³ª ƯÁ¤ ºñÁî´Ï½º ·ÎÁ÷À» °¡Áø
Ŭ·¡½ºÀÇ ³»ºÎÀûÀÎ ºÎºÐÀÇ º¯°æÀº º¸Åë ¿ÜºÎÀûÀÎ º¯°æÀ» °¡Á®¿À´Â °Í °°½À´Ï´Ù. ƯÈ÷ VO°¡
º¯°æÀÌ µÇ¾î¾ß ÇÏ´Â °æ¿ì°¡ ÀÖ´Ù¸é ÇØ´ç µµ¸ÞÀÎ ¸ðµ¨¿¡ º¯°æÀÌ ÀÖ´Â °æ¿ì°¡ µÉ °ÍÀÔ´Ï´Ù.
Áï µ¥ÀÌÅ͸¦ °¡Á®¿À´Â ºÎºÐÀ̳ª ÀúÀåÇÏ´Â ºÎºÐ µîÀÌ º¯°æÀÌ µÇ¾î¾ß ÇÏ´Â °æ¿ì°ÚÁÒ. ÀÌ·¯ÇÑ
°æ¿ì¿¡´Â ¾îÂ¥ÇÇ ±âÁ¸ ÄÄÆ÷³ÍÆ®¿Í´Â ´Þ¶óÁö±â ¶§¹®¿¡ Á¶±Ý ´Ù¸¥ µ¥ÀÌÅÍ/ºñÁî´Ï½º ·ÎÁ÷À»
°¡Áö´Â »õ·Î¿î ÄÄÆ÷³ÍÆ®·Î º¸´Â °ÍÀÌ ÁÁÀ» °Í °°½À´Ï´Ù. ±×·¡¼ ÀÌ·¯ÇÑ °æ¿ì´Â ±âÁ¸ÀÇ
Ŭ·¡½º¸¦ È®Àå(extend)Çϰųª »õ·Î ÄÄÆ÷³ÍÆ®¸¦ ¸¸µé¾î¼ ±âÁ¸ÀÇ ÄÄÆ÷³ÍÆ®¸¦ ÂüÁ¶??
(associationÁï... °¡Á®°¡ »ç¿ëÇÏ´Â °ÍÀ» ¸»ÇÕ´Ï´Ù..^^;; ¸¶¶¥ÇÑ ¾îÈÖ°¡ »ý°¢ÀÌ ¾È³ª³×¿ä.)ÇÏ´Â
Çü½ÄÀ¸·Î ±¸ÇöÀ» ÇÒ ¼ö ¹Û¿¡ ¾ø°ÚÁÒ.
¸Ó... °³ÀÎÀûÀ¸·Î public field¸¦ ÁÖ·Î »ç¿ëÇϰí Àֱ⠶§¹®¿¡... °£´ÜÈ÷ º¯¸í?? À» ÇØ ºÃ½À´Ï´Ù.
Á¦°¡ ¾´ VO¿¡ ´ëÇÑ ³»¿ë¿¡ Á¶±Ý ÇÑÁ¤À» Áö¾î º¸¸é... Á¦°¡ ¾ê±âÇÑ VO´Â ÁÖ·Î À¥°³¹ß ÂÊ¿¡¼ÀÇ
¹æ¹ý¿¡ ¾î¿ï¸±Áöµµ ¸ð¸£°Ú½À´Ï´Ù. ¼¹öÂÊÀ̳ª ÇÁ·¹ÀÓ¿öÅ© ÂÊÀÇ °³¹ß¿¡¼´Â ½ÇÁ¦·Î ´Ü¼øÇÑ VO´Â
°ÅÀÇ »ç¿ëÀÌ µÇÁö ¾ÊÀ¸´Ï±î¿ä. ^^;; ±×·¯°í º¸¸é Á¶±ÝÀÇ ¾ê±âÀÇ ÁÖÁ¦¿¡¼ ¹þ¾î³ ¾ê±â°¡ µÈ °Í
°°½À´Ï´Ù. ¸ÇóÀ½ÀÇ Áú¹®ÀÌ Beans¿¡ ´ëÇÑ °ÍÀÌ´Ù º¸´Ï±î...¾Æ¹«·¡µµ »ç¶ûÀüÀï´ÔÀÌ ¸»¾¸ÇϽÅ
JavaBean ¶Ç´Â Enterprise Java BeanÀÇ °³³äÀ¸·Î º¸¸é ºñÁî´Ï½º ·ÎÁ÷À» ÁÖ·Î ´ã°í ÀÖ¾î¾ß Çϱâ
¶§¹®¿¡ getter/setter´Â ÇʼöÀûÀÎ ¿ä¼Ò °ÚÁö¿ä..
¤¾¤¾¤¾ ±ÛÀ» ½á³õ°í º¸´Ï±î... ¿ØÁö ¿¹³¯ ¾ê±âÀÇ "À̰͵µ ¿Ç´Ù, Àú°Íµµ ¿Ç´Ù" ¶ó´Â ±ÛÀ» ¾´ °Í
°°½À´Ï´Ù.
|
Á¦¸ñ : Re: ¶Ç ¹è°¡ »êÀ¸·Î °¡´Â±º¿ä ±Û¾´ÀÌ: ¼Õ´Ô(guest) 2004/11/23 16:42:11 Á¶È¸¼ö:1347 ÁÙ¼ö:33 |
|
¶Ç ¹è°¡ »êÀ¸·Î °¡´Â±º¿ä.
JavaBean´Â ¼±¿¡¼ ³»³õÀº Component Spec. À̸§ÀÔ´Ï´Ù.
ActiveX´Â MS¿¡¼ ³»³õÀº Compnent Spec.À» ±¸ÇöÇÑ Á¦Ç° À̸§ÀÔ´Ï´Ù.
½À°üÀûÀ¸·Î get/set name convensionÀ» ¾²´Â°ÍÀÌ ¾Æ´Ï¶ó Spec. À̱⶧¹®¿¡ ¾²´Â°Ì´Ï´Ù.
setter°¡ ÁÁÁö¾Ê´Ù°í ¸»À» ÇÏ´Â ÀÌÀ¯´Â Thread Safe ¹®Á¦ ¶§¹®À̰í ÀûÀýÇÑ sync¸¦ °í·Á
ÇÏ¸é ³ª»Û°ÍÀº ¾Æ´Õ´Ï´Ù.
get/set method¸¦ ÀÌ¿ëÇØ¼ property¿¡ Á¢±ÙÀ» ÇÑ´Ù´Â°Í ÀÚü°¡ JavaBeanÀ̶õ ¶æÀÔ´Ï´Ù.
¿©±â¿¡ ¸¹Àº ¼ö½Ä¾î°¡ ºÙÁÒ?
ĸ½¶È, BlackBox, Interface..
Object°¡ ¸Þ¼Òµå/ÇÁ·ÎÆÛƼ/À̺¥Æ® ÀÇ Æ¯¼ºÀ» ¸¸Á·Çϸé ÀÚ¹ÙºóÁî¶ó°í ºÒ¸± ¼ö ÀÖ½À´Ï´Ù.
³î¶ø½À´Ï´Ù. ÀÚ¹ÙºóÁ Ç¥ÁØÀÌ ¾Æ´Ï¶ó°í ÇÏ´Â »ç¶÷ÀÌ ÀÖ´Ù´Ï¿ä!! °Ô´Ù°¡
ÀÚ¹ÙºóÁ Ç¥ÁØÀÌ ¾Æ´Ï¶ó '¾Ç½À'À̶ó°í ¸»ÇÑ »ç¶÷ÀÌ Àִµ¥...
»ç¶÷ÀÌ ¹«½ÄÇÏ¸é ¿ë°¨ÇÏ´Ù´Â ¸»ÀÌ ´Ù½ÃÇѹø ¶°¿À¸¨´Ï´Ù.
¿Ö Ã¥¿¡ "javabeanÀ» ÀÌ¿ëÇÑ.."À̶õ ¸»ÀÌ ³ª¿À´ÂÁö Çѹø »ý°¢ÇØ º¸½Ê½Ã¿ä.
Æû»ýÆû»ç¶§¹®¿¡ ¾²´Â ¸»ÀÌ ¾Æ´Õ´Ï´Ù.
Áú¹®ÇϽźÐ..
¿·ÀÚ¸®¿¡ ÀÖ´Â »ç¶÷¿¡°Ô µÉ ¼ö Àִ´ë·Î get/setÀ» ½á¶ó°í ¸»¾¸ÇØ Áֽðíproperty´Â
²À private ȤÀº protected·Î ºÙÀÌ´Â ½À°üÀ» µéÀ̶ó°í ¸»¾¸ÇØ ÁÖ¼¼¿ä..
¸î±ÛÀÚ ´õ Ä¡´Â°Ô ±×·¸°Ô Èûµì´Ï±î?
|
Á¦¸ñ : Re: Àú´Â ¹è°¡ ¸Â°Ô °£°Å °°Àºµ¥.. ±Û¾´ÀÌ: ¼¹Î±¸(guest) 2004/11/23 20:26:48 Á¶È¸¼ö:1029 ÁÙ¼ö:29 |
|
±×·¡¼ ÀÌ·±¸»ÀÌ ÀÖÁÒ..
"¾ÇȰ¡ ¾çȸ¦ ±¸ÃàÇÑ´Ù"°í¿ä..
´ÜÁö ½ºÆåÀ̶ó´Â ³í¸®¸¸À¸·Î ÀÚ¹ÙºóÁîÀÇ setter/getter¸¦
»ç¿ëÇØ¾ßÇÑ´Ù¸é, ¿À´Ã ¿ì¸®´Â ½ºÆåÀ̶ó´Â ÀÌÀ¯¸¸À¸·Î ejbÀÇ
¸ðµç ÆÛ½Ã½ºÅϽº ·¹À̾î´Â Ç×»ó cmp·Î ÀÛ¼ºÇؾßÇϰԿä...?
±×¸®°í tcp/ip´Â °¥¾Æ¾þ°í ±ú²ýÇÑ osi 7 layer¿¡ ¸Â°Ô
»õ·Î ¸¸µé¾î¾ß°Ú³×¿ä..
Àü À ±ÛµéÀ» µû¶ó°¡¼ Àдٺ¸´Ï, ºÐ¸í ÀÚ¹Ù¿¡¼´Â ¸ÞŸ Á¤º¸¸¦
Ç¥ÇöÇϴµ¥ ÀÖ¾î¼ ºÎÁ·ÇÔÀÌ ÀÖ´Â°Ç »ç½ÇÀ̶ó´Â »ý°¢ÀÌ µå´Âµ¥¿ä..
´å³ÝÇÏ°í ºñ±³Çغ¸¾Æµµ ½±°Ô ¾Ë ¼ö Àִµ¥..
´å³Ý¿¡¼´Â property¶ó´Â °³³äÀ» »ç¿ëÇØ¼,
±× Çʵ尡 public ÇʵåÀÎÁö ¾Æ´Ï¸é ÇÁ·ÎÆÛƼÀÎÁö
Ŭ¶óÀÌ¾ðÆ® ÀÔÀå¿¡¼´Â ¸ð¸£´Â »óÅ¿¡¼ Á¢±ÙÀÌ °¡´ÉÇÏÁÒ...
ĸ½¶È, ºí·¢¹Ú½º, ÀÎÅÍÆäÀ̽º¿Í °°Àº ´Ü¾î¿¡´Â ¶Ç ÀÌ·± ÀÀ¼ö°¡
°¡´ÉÇÏÁÒ.. 'software architecture´Â another indirection¸¸
ÀÖÀ¸¸é ¸¸»ç°¡ ÇØ°áµÉ°Å¶ó°í Âø°¢ÇÏ´Â »ç¶÷µéÀÇ ÀÛǰÀÌ´Ù'¶ó°í¿ä..
setter°¡ ÁÁÁö ¾ÊÀº °Ç thread safety¶§¹®À̶ó´Ï, ±× ÀÌÀ¯°¡
Á¤¸» ±Ã±ÝÇϱº¿ä...
¸î±ÛÀÚ ´õ Ä¡´Â ±ÍÂúÀ½ÁõÀ̶ó.. ¾Æ¸¶ ±×·± ±ÍÂúÀ½ÁõÀÌ ¾ø¾ú´Ù¸é
»çȸÀÇ ¹ßÀüÀÌ ¾ø¾úÀ»°É¿ä? °È±â ½È¾î¼ Â÷¸¦ ¸¸µé°í, Â÷Ÿ´Â°Íµµ
³Ê¹« ¿À·¡°É¸®´Â°Ô ½È¾î¼ ±âÂ÷¸¦ ¸¸µé°í, ºñÇà±â¸¦ ¸¸µé°í.
Á÷Á¢ °¡¼ À̾߱âÇÏ´Â°Ô Èûµå´Ï±î Àüȸ¦ ¸¸µé°í.
Àηù¿ª»ç°¡ ÀÌ·¸°Ô ¹ßÀüÇÑ°É ¿Ö ¸ð¸¥Ã´ ÇϽ÷Á´ÂÁö.
|
Á¦¸ñ : Re: ÀÔÀåÀ» ¹Ù²Ù¸é... ±Û¾´ÀÌ: ¹ÚÂù¿ì(nucha) 2004/11/24 01:00:49 Á¶È¸¼ö:878 ÁÙ¼ö:27 |
|
¿©·¯ºÐÀÌ ÄÄÆ÷³ÍÆ® Ç¥ÁØÀ» ¸¸µç´Ù°í »ý°¢Çغ¸¼¼¿ä.
´Ü¼øÈ÷ »ç¿ëÇÏ´Â ÀÔÀåÀÌ ¾Æ´Ñ ¸¸µå´Â ÀÔÀå¿¡¼...
°á±¹ SUNÀÇ ÀÔÀåµµ ÀÌÇØ°¡ °¥ °ÍÀÔ´Ï´Ù.
¾î´À ´©±º°¡ÀÇ ºÒ¸¸À» ÇØ°áÇÏ¸é ´Ù½Ã ´Ù¸¥ ´©±º°¡ÀÇ ºÒ¸¸ÀÌ ¶Ç ³ª¿Ã °ÍÀ̹ǷÎ...
±×·±µ¥ µ¥ÀÌŸ Àü¼Û °´Ã¼´Â ÀÚ¹Ù ºó ¼öÁØÀÇ Ç¥ÁØÀ» ÁöŰ¸é¼ ¸¸µé¼öµµ ÀÖ°í
public Çʵåµé·Î¸¸ ±¸¼ºµÇ°Ô ÇØ¼ ÀÛ¼ºÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
ÇÊ¿äÇÏ´Ù¸é µ¥ÀÌÅÍ¿Í ¼¹ö·Î Àü´ÞµÇ¸é ±× µ¥ÀÌÅÍ·Î ¹» ÇÒÁö
·ÎÁ÷±îÁö ±¸ÇöÇØ¼ Àü´ÞÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
´Ù ±¸ÇöÇϱ⠳ª¸§ÀÌÁö¿ä.
¹°·Ð MapÀ» ÀÌ¿ëÇÑ µ¥ÀÌŸ Àü¼Û °´Ã¼µµ ±× ÇѰ¡Áö ¹æ¹ýÀÔ´Ï´Ù.
±× °ÍÀº ¼±ÅÃÀÇ ¹®Á¦ÀÏ »ÓÀÔ´Ï´Ù.
¸¾¿¡ ¾Èµé¸é ¾È¾²¸é µÇ´Â °ÍÀÌÁö¿ä.
¿Ö³ÄÇϸé Á¦°¢°¢ Àå´ÜÁ¡À» °¡Áö°í ÀÖ¾î¼
Àڽſ¡°Ô ¸Â°í Æí¸®ÇÑ °ÍÀ» ¼±ÅÃÇÏ¸é ±× °ÍÀÌ Àڽſ¡°Õ ÃÖ¼±ÀÇ ¼±ÅÃÀÎ °ÍÀÔ´Ï´Ù.
±×·¸´Ù°í ÀÚ½ÅÀÌ ¼±ÅÃÇÏÁö ¾ÊÀº ´Ù¸¥ °ÍÀ» ³ª»Ú´Ù°í¸¸ ÇÒ ¼ö´Â ¾ø´Â °ÍÀÌÁö¿ä.
ps:
±×·±µ¥ MapÀ» »ó¼Ó¹Þ¾Æ ±¸ÇöÇÏ´Â °Íº¸´Ù À§ÀÓÀ¸·Î ÀÛ¼ºÇÏ´Â°Ô ÁÁÀ»ÅÙµ¥¿ä.
»ç¿ëÇÏ´Â ±¸Ã¼Àû MapÀÌ ¹«¾ùÀÌµç °£¿¡...
|
Á¦¸ñ : Re: JavaBeansÀÇ µÚƲ¸² ±Û¾´ÀÌ: ÀÌ¿ø¿µ(javaservice) 2004/11/24 03:53:04 Á¶È¸¼ö:1727 ÁÙ¼ö:35 |
|
Á¶±Ý À§·Î °Å½½·Î ¿Ã¶ó°¡¼, óÀ½ "JavaBeans"°¡ ´ëµÎµÇ¾úÀ» ¶§, ¿ø·¡ÀÇ ±× ÃëÁö¸¦
µÇ¤¾î ºÃÀ¸¸é ÇÕ´Ï´Ù. 98³âµµ¿¡ Á¦°¡ ÀÛ¼ºÇÑ ¾Æ·¡ÀÇ Ã·ºÎÆÄÀÏÀÌ, Áö±ÝÀÇ ³í¶õ¿¡ ¹Ù¶÷Á÷ÇÑ
¹æÇâÀ¸·ÎÀÇ ÀÌÇØ¿¡ µµ¿òÀÌ µÇ¾úÀ¸¸é ÇÕ´Ï´Ù.
÷ºÎ: JavaBean_Àü·«º¸°í¼.doc (Àá±ñ µÑ·¯º¸½ÃÁÒ..)
»ç¶ûÀüÀï´ÔÀÌ ¹Ì¸® ¾ð±ÞÇϽŠJavaBeansÀÇ ±Ô¾à¿¡µµ º¸¸é,
http://java.sun.com/products/javabeans/downloads/index.html
...that allow for the visual construction of applications
À̶ó µÇ¾î ÀÖ¾î¿ä. À̰ÍÀÌ ¼¹öÃøÀÇ EJB¸ðµ¨·Î À̾îÁö°í, JSP¿¡¼ JavaBeans°¡ Ȱ¿ëµÇ°í,
Áö±Ý ÀÌ ¾²·¹µå¿¡¼ ÀÏÆÄ¸¸ÆÄ À̾îÁö°í ÀÖ´Â Server-side programming modelÀÇ ¾ê±â·Î
ÀüÇØ ³»·Á¿À°í ÀÖ½À´Ï´Ù.
Á¦ »ý°¢Àº JavaBeans´Â "Visual construction"¸¦ À§ÇÑ ±â°¡¸·Èù ÀÌ»óÀû ¸ðµ¨À̾ú½À´Ï´Ù.
´ÜÁö CBD(Component-Based Development)°¡ »ý°¢¸¸Å Çö½ÇȵÇÁö ¸øÇß°í, Visual Cafe,
JBuilder, ViualAge for Java/WSAD/Eclipse µîÀÇ IDE ToolµéÀÌ Visual Construction-Based
Component¸¦ ¾ç»êÇÒ °ÍÀ¸·Î ±â´ëµÇ¾úÀ¸³ª, Çö½ÇÀûÀ¸·Î ±×·¯ÇÏÁú ¸øÇß°í, °á±¹ À̸§¸¸
JavaBeans·Î µ¢±×·¯´Ï ³²¾Æ ÀÖ´Â Çü±¹À¸·Î º¸ÀÔ´Ï´Ù. ¾ÈŸ±õÁÒ.
server-side¿¡¼ÀÇ JavaBeansȰ¿ëÀº ±× È¿¿ë¼º°ú °¡Ä¡¸¦ ºÎ´ÜÈ÷ ã¾Æ°¡·Á ³ë·ÂÇßÁö¸¸,
Àú¸¦ Æ÷ÇÔÇØ ¸¹Àº ºÐµéÀÌ ÀÌ¹Ì ±×´ÙÁö ³ôÀº Á¡¼ö¸¦ ÁÖ°í ÀÖ´Â °Í °°Áö´Â ¾Ê³×¿ä.
3¹ÚÀÚ°¡ ¸ðµÎ ¸Â¾Æ¶³¾îÁ³¾î¾ß Çß½À´Ï´Ù.
1) Visual Construction±â¹Ý °³¹ß ´ëÁßÈ
2) ´Ù¾çÇÑ Visual ComponentÀÇ »ý»ê ¹× ÆÇ¸Å(±×·¯ÇÑ Àü¹®¾÷üÀÇ ¼ºÀå)
3) CBD ¾ÖÃÊ Àǵµ´ë·ÎÀÇ ½ÇÁúÀûÀÎ ¹ßÀü
ÀÌ 3°¡Áö°¡ 90³â´ë ¸»¿¡ ÃßÁ¤ÇßµíÀÌ ¿¹»ó´ë·Î ÁøÇุ µÇ¾î Á³´õ¶ó¸é, ±× Á߽ɿ¡´Â
JavaBeans°¡ ÀÖ¾úÀ» °Å¿¹¿ä. ±×·¯³ª Çö½ÇÀº ±×·¸Áö ¸øÇϰí, setter¿Í getter¸¦ °³¹ßÀÚ°¡
ÄÚµùÇϰí, ±×°ÍÀÇ À̿뵵 °³¹ßÀÚÀÇ editor¿¡¼ ÄÚµùµÇ´Ï, ±× °¡Ä¡¿Í Àǹ̸¦ ÀÌ¹Ì »ó½ÇÇÑ
°ÍÀ̶ó ºÁ¿ä.
ÀÚ¹Ù¼ºñ½º³Ý ÀÌ¿ø¿µ
JavaBean_Àü·«º¸°í¼.doc (830976 Bytes)
|
Á¦¸ñ : Re: JavaBeans ±Û¾´ÀÌ: ¼¹Î±¸(guest) 2004/11/24 09:08:16 Á¶È¸¼ö:874 ÁÙ¼ö:25 |
|
Á˼ÛÇÕ´Ï´Ù. ¾Õ¼ ±Û¿¡¼ Á¦°¡ »ç½Ç '¼Õ´Ô'´ÔÀÇ ±Û¿¡ ÈïºÐÇÑ ³ª¸ÓÁö »ßµüÇÏ°Ô ´äÀ»
´Þ¾Ò½À´Ï´Ù.
Á¦ »ý°¢À» Á» ´õ ¸íÈ®È÷ ÇÏÀÚ¸é,
(1) VO¿¡¼ Map µîÀÇ »ç¿ëÀÌ ÆíÇÑ °ÍÀº »ç½ÇÀ̰í, ´Ü¼ø public field °¡ ÆíÇÑ °Íµµ »ç½Ç.
´õ±¸³ª ¸¸´É VO¸¦ ¸¸µé ¸ñÀûÀÌ ÀÖ´Ù¸é MapÀÌ À¯¸®ÇÑ °Íµµ »ç½Ç.
¿¹¸¦ µéÀÚ¸é, select ÇØ¿Â ¸ðµç Çʵ带 Ű·Î °®µµ·Ï µ¿ÀûÀ¸·Î MapÀ» ¸¸µé¾î
¹ÝȯÇѴٵ簡..
(2) ÇÏÁö¸¸ ¿ª½Ã Ç¥ÁØÀÌ ¾Æ´Ñ °Ç »ç½Ç.. ÀÌ·Î ÀÎÇØ ¸ðµÎ°¡ ÇÕÀÇÇÏ´Â ÇÊµå °ª¿¡
´ëÇÑ validation ¹æ½ÄÀÌ Map¿¡ ´ëÇØ ¾øÁÒ. ¹°·Ð ÇÁ·ÎÁ§Æ®³ª ÆÀÀ̳ª ȸ»ç ´ÜÀ§·Î
ÀÌ¿¡ ´ëÇÑ Ç¥ÁØÈ°¡ ÀÌ·ç¾îÁø´Ù¸é ¾ó¸¶µçÁö MapÀ» ½áµµ »ó°ü¾ø°ÚÁö¸¸,
¸ðµÎ°¡ ÇÕÀÇÇÏ´Â ¹æ½ÄÀÌ µÇ±â´Â Èûµé´Ü °ÅÁÒ..
getter/setterº¸´Ù ´õ ³ªÀº ´ë¾ÈÀÌ ³ª¿À±â Èûµé±â´Â ÇÏÁö¸¸, MapÀ» »ç¿ëÇϵÇ
¿©·¯°¡Áö »çÇ×À» Àß °í·ÁÇϸé (°¡·É ۸¦ Á¶ÀÛÇÏÁö ¸øÇÏ°Ô ¹ÝȯÇϰųª °ªÀ»
ÇÒ´çÇÒ ¶§ °ªÀÇ validatinÀ» ÇØÁÙ ¼ö ÀÖ°Ô Çϰųª) Äڵ尡 ´õ ³ª¾ÆÁú ¼ö ÀÖ´Ù´Â
»ý°¢ÀÌ µå³×¿ä...
ÇÏÁö¸¸ Ç¥ÁØÀÌ ¾Æ´Ï¶ó´Â ÀÌÀ¯¸¸À¸·Î ´Ù¸¥ ¹æÇâÀ¸·ÎÀÇ »ý°¢À̳ª ¹ßÀüÀ» °ÅºÎÇÑ´Ù¸é,
½ºÆ®·¯Ã÷ °°Àº ÇÁ·¹ÀÓ¿÷À̳ª ÀÚ¹Ù ¼¼°èÀÇ ´Ù¾çÇÑ ÆÛ½Ã½ºÅϽº ·¹À̾î(¾ó¸¶³ª ¸¹ÀºÁö
ÀÌÁ¨ ÀÏÀÏÈ÷ °øºÎÇÒ ¼ö°¡ ¾øÁÒ)³ª, GNU GPL ³»ÀÇ ´Ù¾çÇÑ ÇÁ·ÎÁ§Æ®µéÀº ÀÖÀ» ¼ö
¾ø¾úÀ»Áöµµ ¸ð¸£ÁÒ.
|
Á¦¸ñ : Re: ¸Ó ±×·±°É·Î.. ±Û¾´ÀÌ: ¼Õ´Ô(guest) 2004/11/24 17:03:13 Á¶È¸¼ö:809 ÁÙ¼ö:20 |
|
¸Ó ´ä±Ûº¸°í »ßµüÇÏ°Ô ¹ÝÀÀ±îÁö¾ß..
JavaBeans ÀÚü¸¦ µ¥ÀÌÅÍ Container ¿ªÈ°·Î ÇÑÁ¤½ÃŰ´Ï±î MapÀÌ´Ï getter/setter ´Ï ¹¹´Ï
±×·± ¸»µéÀÌ ³¹«Çϴ°̴ϴÙ.
±×·± ¿ëµµ·Î ¾µ·Á¸é Thread-safeÇÑ Collectionµé ¸¹ÀÌ ÀÖÀ¸´Ï±î °Á ±×°Í ¾²¸é µÇ±¸¿ä..
JavaBeans°¡ ÇöÀç °¡Ä¡¿Í Àǹ̸¦ »ó½ÇÇß´Ù´Â ¸»Àº 3rd party °³¹ßÀڷμ µ¿ÀÇÇÒ ¼ö
¾ø½À´Ï´Ù.
(»ç½Ç ÄÚ¾îŬ·¡½ºµéÀº ¸ðµÎ ºóÁî¶ó°í ÇÒ ¼ö Àֱ⶧¹®¿¡ JavaBean¶õ ¸»ÀÌ ½±°Ô ¾²ÀÔ´Ï´Ù)
¸»¸¸ ¾Õ¼¼¿ì´Â °³¹ßÀÚ´Â ¹ÏÁö ¾ÊÀºÁö ¿À·¡µÆ±â¶«¿¡..
¾ÕÀ¸·Î Áõ¸íÇØ º¸À̰ڽÀ´Ï´Ù..
P.S.
JavaBeans Á¤ÀÇ ÀÚü¿¡ 'Visual' À̶õ ¸»ÀÌ µé¾î°¡´Â ¹Ù¶÷¿¡ °³³ä¿¡ »ó´çÈ÷ È¥¶õÀ» ÁÖ´Â
Á¡Àº ¿ª½Ã ÃÊâ±â server-side¸¦ ÀǽÄÇÏÁö ¾ÊÀº ¶§¹®À¸·Î º¸ÀÔ´Ï´Ù.
µÚ¿¡ Non-VisualÀ̶õ ¸»ÀÌ ³ª¿ÀÁö¸¸ ÀÌ°Ç »ó´çÇÑ ºÒ¸¸ÀÔ´Ï´Ù.
|
Á¦¸ñ : Re: JavaBeansÀÇ ºÒÅõ¸íÇÑ ¹æÇ⼺ ±Û¾´ÀÌ: ÀÌ¿ø¿µ(javaservice) 2004/11/24 19:13:58 Á¶È¸¼ö:1502 ÁÙ¼ö:36 |
|
"ÄÚ¾îŬ·¡½ºµéÀº ¸ðµÎ ºóÁî"¶ó´Â Çà°£ÀÇ Àǹ̴ ÀÓÀÇÀÇ Å¬·¡½º´Â BeansÀÇ instantiate()¶ó´Â
¸Þ¼Òµå¸¦ ÅëÇØ "JavaBeansÈ" µÉ ¼ö ÀÖ´Ù´Â ¶æÀÔ´Ï´Ù.
¿¹¸¦ µé¸é, JSP¿¡¼ <jsp:useBeans ...> ¶ó°í ÇßÀ» ¶§, precompiledµÈ java ¼Ò½º¸¦ º¸¸é,
Beans.instantiate(...) ¸¦ ÅëÇØ ÇØ´ç Ŭ·¡½º°¡ JavaBeansÀÇ Æ¯¼ºÀ» ¸ðµÎ °®´Â Beans·Î
instanceÈ µÇ´Â °ÍÀÌÁö¿ä.
http://www.javaservice.net/~java/docs/j2sdk_1.3.1/api/java/beans/Beans.html
JavaBeans¿¡ °üÇÑ ±è¼¼Á¾´ÔÀÇ (¿À·¡µÈ)°Áµµ ÀоÁ÷ÇÏÁö ¾Ê³ª¿ä?
http://www.javaservice.net/~java/bbs/search.cgi?m=resource&b=applet&p=0&c=search&k=...
¾Æ½Ã´Ù½ÃÇÇ ÀÚ¹ÙºóÁî´Â Delegation Event Model, Property, Introspection, Persistency,
core Reflection, Customization µîÀÇ Æ¯¼ºÀ» °®°í ÀÖ½À´Ï´Ù.
±×·¯³ª, ¿ì¸° Áö±Ý ´Ù¼Ò "Property"¶ó´Â ¼Ó¼º¸¸ ³õ°í JavaBeans¿¡ ´ëÇÑ ¾ê±â¸¦ ²ø¾î¿À°í
ÀÖ´Â µí ÇØ¿ä. ±×·¯³ª, À§¿¡ ³ª¿µÈ JavaBeansÀÇ »ó´çºÎºÐÀº "Visual construction"¸¦
À§ÇÑ °ÍÀ̾ú´Ù´Â °ÍÀ» °Á¶ÇÏ°í ½Í°í, "Visual"À» »« non-visul JavaBeans´Â ±×·¯ÇÑ °üÁ¡¿¡¼
(´Ù¼Ò) Àǹ̸¦ »ó½ÇÇß´Ù´Â °ÍÀÌÁö¿ä.
Server-side¿¡¼ÀÇ JavaBeansȰ¿ëÀº ºÐ¸í °¡Ä¡°¡ ÀÖÀ» °Ì´Ï´Ù. ±×·¯³ª, ±× ÀåÁ¡ÀÌ ±Ø´ëÈ
µÇ±â À§Çؼ± IDE Tool¿¡¼ Visual Construction °³¹ß¹æ¹ýÀÌ °¡´ÉÇØÁ®¾ß Çß´ø °Í ¾Æ´Ï³Ä¶ó´Â
°ÍÀÌÁö¿ä.
Àú¿ª½Ã editor¸¦ ÀÌ¿ëÇÑ ÄÚµù½Ã¿¡ Entity-Object¿¡¼ setter/getter¸¦ ±»ÀÌ ¸¸µé Çʿ䰡
¾ø´Ù°í º¸¿©Áö¸ç, (¿ª¼³ÀûÀ¸·Î) reflection ±â´ÉÀ» ÀÌ¿ëÇÏ¿© public fieldÀÇ setting/gettingÀÌ
(°æ¿ì¿¡ µû¶ó!) º¸´Ù »ý»êÀûÀÌ´õ±º¿ä. ½ÉÁö¾î JSP¿¡¼ <jsp:useBeans ...> tag¸¦
½á¾ßÇÒ ÀÌÀ¯¸¦ ãÁö ¸øÇÕ´Ï´Ù. ±×·¯ÇÑ Äڵ尡 IDE Tool¿¡ ÀÇÇØ Component-Based Drag&DropÀ¸·Î
ÀÚµ¿»ý¼ºµÇ´Â °ÍÀÏ ¶§, Àǹ̸¦ °®´Â °Í ¾Æ´Ò±î¿ä.
PS: 98³âµµ¿£, "JavaBeans¿Í EJB(Enterprise JavaBeans)´Â À̸§¸¸ BeansÀÌÁö ÀüÇô ´Ù¸¥
°ÍÀÔ´Ï´Ù"¶ó°í Çߴµ¥, ÀÌÁ¨ ´Ùµé ±¤ÀÇÀÇ °üÁ¡¿¡¼ "À¯»çÇÑ °ÍÀÔ´Ï´Ù"¶ó°í ¿©°ÜÁö³ªºÁ¿ä.
NOTE: "JavaBeansÀÇ ¹æÇ⼺"À̳ª, server-side programming½Ã¿¡ JavaBeans ¼Ó¼º Áß ¾î¶²
¼Ó¼ºÀº ¾î´À ºÎºÐ¿¡¼ ¸Å¿ì Ȱ¿ë°¡Ä¡°¡ ³ô´Ù, ȤÀº server-side componentÀÇ visual
conctruction °³¹ß ¹æÇâÀÌ ¾îµð·Î È帣°í ÀÖ´Ù, µî¿¡ ´ëÇØ ¸»¾¸ÇØ ÁÖ½Ã¸é °¨»çÇϰڽÀ´Ï´Ù.
ÀÚ¹Ù¼ºñ½º³Ý ÀÌ¿ø¿µ
|
Á¦¸ñ : Re: JavaBeans¿Í Ç¥ÁØ.. ±Û¾´ÀÌ: ¹Ú¿µ·Ï(poci) 2004/11/24 20:56:29 Á¶È¸¼ö:1425 ÁÙ¼ö:43 |
|
JavaBeans¸¦ Ç¥ÁØÀ̶ó°í ¸»Çϱ⿡´Â ´Ù¼Ò ¾îÆó°¡ ÀÖ½À´Ï´Ù. JavaBeans ½ºÆåÀº
beans¸¦ ´Ù·ç´Â API¿¡ ´ëÇÑ °ÍÀÌÁö ¾î¶»°Ô Ŭ·¡½º¸¦ ÄÚµùÇÒ °ÍÀΰ¡¿¡ ´ëÇÑ Ç¥ÁØÀº
¾Æ´Õ´Ï´Ù. ÇÁ·ÎÆÛƼµéÀ» public field·Î ¾²°Å³ª MapÀ¸·Î °ü¸®ÇÑ´Ù°íÇØ¼ À̰ÍÀÌ
ºñÇ¥ÁØÀÎ °ÍÀº ¾Æ´Õ´Ï´Ù. ±×º¸´Ù´Â ÀϹÝÀûÀ¸·Î °´Ã¼ÀÇ ÇÁ·ÎÆÛƼ¸¦ ÀÚ¹ÙºóÁî ½ºÅ¸ÀÏ·Î
°ü¸®ÇÑ´Ù´Â Á¡¿¡¼ ÀÌÈñ½Â´ÔÀÇ ¸»¾¸Ã³·³ de facto standard¶ó°í º¸´Â °Ô ¸Â°ÚÁÒ.
±×¸®°í, ÀÌ·± ½Ã°¢¿¡¼ º»´Ù¸é ÃÖ¼ÒÇÑ DTOÀÇ ¿µ¿ª¿¡¼´Â Map ¿ª½Ã de facto standard°¡
µÇ¾î°¡°í ÀÖ½À´Ï´Ù. iBatis, Spring DAO, commons-dbutils µîÀÇ JDBC ·¡ÆÛµéÀÌ
ÀÌ·± °æÇâÀ» ¹Ý¿µÇϰí ÀÖ°í JSTLÀÇ EL ¿ª½Ã ¸¶Âù°¡ÁöÀÔ´Ï´Ù.
ÀÚ¹ÙºóÁî°¡ óÀ½¿¡´Â visual component¸¦ ¸ñÇ¥·Î Ãâ¹ßÇÑ °ÍÀº »ç½ÇÀÔ´Ï´Ù¸¸
ÀÚ¹ÙºóÁîÀÇ Æ¯Â¡µéÀ̶õ °Ô »ç½Ç ºóÁî·Î ÄÚµùµÈ Ŭ·¡½º ÀÚü°¡ °¡Áö´Â Ư¡Àº
getter/setter ¹Û¿¡ ¾ø½À´Ï´Ù. ±× ¿Ü¿¡´Â ºóÁîÀÇ Æ¯Â¡ÀÌ ¾Æ´Ï¶ó ºóÁ Áö¿øÇÏ´Â
APIµéÀÇ Æ¯Â¡ÀÌÁÒ. ¿äÁîÀ½ ÀϹÝÀûÀ¸·Î »ç¿ëÇÏ´Â ºóÁîÀÇ Àǹ̴ ÀÌ·± ÇÁ·ÎÆÛƼ
°ü¸® ÀÌ»óÀÇ Àǹ̸¦ Å©°Ô ´ã°í ÀÖÁö ¾Ê½À´Ï´Ù. XMLBeans, commons-beanutils,
½ºÆ®·¯Ã÷ÀÇ FormBean µî¿¡¼ »ç¿ëÇÏ´Â beansÀÇ Àǹ̴ ÇÁ·ÎÆÛƼ °ü¸®¸¦ getter/
setter·Î ÇÑ´Ù´Â Á¤µµÀÇ Àǹ̷Π»ç¿ëµÇ°í ÀÖÁÒ. ±×·¸´Ù°í À̰ÍÀÌ beans´Â ¸ðµÎ
´Ü¼ø getter/setter¸¸ °¡Áø DTO¸¦ ÀǹÌÇÏ´À³ÄÇÏ¸é ±×°Ç ¾Æ´Õ´Ï´Ù. full-featured
objectÀÌ´õ¶óµµ ÀÚ½ÅÀÇ ÇÁ·ÎÆÛƼ¸¦ getter/setter·Î °ü¸®ÇÑ´Ù´Â °Í »ÓÀÌÁÒ.
»ç½Ç ÀÌ·± °Ô ³í¶õÀÌ µÇ´Â ÀÌÀ¯´Â ÀÚ¹ÙÀ̱⠶§¹®ÀÏ ¼ö ÀÖ½À´Ï´Ù. getter/setter
¹æ½ÄÀÌ ´ÜÁ¡ÀÌ ¸¹À½¿¡µµ ºÒ±¸ÇÏ°í ¾²ÀÏ ¼ö ¹Û¿¡ ¾ø´Â °ÍÀº MapÀ̳ª public field°¡
°¡Áö±â Èûµç ÀåÁ¡, ÇÁ·ÎÆÛƼ Á¢±Ù °úÁ¤¿¡¼ ºÎ°¡ÀûÀÎ ÇÁ·Î¼¼½º¸¦ ¼öÇàÇÒ ¼ö ÀÖ´Ù´Â
Á¡ ¶§¹®ÀÌÁÒ. ÀÌ·± Á¡Àº »ç½Ç ÇÁ·ÎÆÛƼ¶ó´Â °³³äÀ» º°µµ·Î Áö¿øÇÏ´Â ¾ð¾îµé¿¡¼´Â
°í¹ÎÇÒ Çʿ䰡 ¾ø´Âµ¥ ÀÚ¹ÙÀ̱⠶§¹®¿¡ °í¹ÎÇÒ ¼ö ¹Û¿¡ ¾ø´Â °Í °°½À´Ï´Ù.
p.s. componentÀÇ visual constructionÀº ¿ø·¡ ÀÚ¹ÙºóÁîÀÇ ¸ñÀûÀ̱ä ÇÏÁö¸¸
¿äÁò Åë¿ëµÇ´Â ÀǹÌÀÇ ÀÚ¹ÙºóÁî¿Í´Â °Å¸®°¡ ÀÖ°í ÀÚ¹ÙºóÁî¿¡¸¸ ¿¬°ü½ÃÄѼ
À̾߱âÇϱ⿣ Á¶±Ý Å« ÁÖÁ¦ÀÎ µí ÇÕ´Ï´Ù. ¸¹Àº »ç¶÷µéÀÌ °ü½É °®°í ÀÖ´Â
ÁÖÁ¦À̱⵵ ÇÏ´Ï »õ·Î ¾²·¹µå¸¦ ¿¾îº¸´Â °ÍÀº ¾î¶³±î¿ä?
----
http://youngrok.com
NHN Corp. À¥Ç÷§ÆûÆÀ
-------------------------------------------------------
°Ô½ÃÆÇ°ü¸®ÀÚÁÖ: Visual construction À̽´´Â ¾Æ·¡ÀÇ ½º·¹µå·Î ºÐ¸®ÇÏ¿© À̾îÁý´Ï´Ù.
332 Visual component ¿Í Visual construction Àº ´Ù¸¥°Å ¾Æ´Ò±î¿ä
http://www.javaservice.net/~java/bbs/read.cgi?m=resource&b=discussion&c=r_p&n=1101340367
|
Á¦¸ñ : Re: ¿ÀÈ£.... ±Û¾´ÀÌ: ¼Õ´Ô(guest) 2004/11/26 23:12:17 Á¶È¸¼ö:1161 ÁÙ¼ö:61 |
|
JavaBeans´Â de facto standard°¡ ¾Æ´Ï¶ó standardÀÔ´Ï´Ù.
getter/setter´Â ÀüÇô Áß¿äÇÑ ¹®Á¦°¡ ¾Æ´Ñµ¥ ÀÌ·¸°Ô °Á¶ÇÏ´Â ÀÌÀ¯¸¦ ¸ð¸£°Ú½À´Ï´Ù.
(Object ¸Ú´ë·Î ¸¸µé¾î¼ °Á ¾²¼¼¿ä.. ¾Æ¹« ¹®Á¦¾ø½À´Ï´Ù.)
API¶õ ¸»ÀÇ Àǹ̴ 'ÀÌ·± Spec.À» ¸¸Á·ÇÏ´Â ¹º°¡¸¦ ¸¸µé·Á¸é ÀÌ·¸°Ô ÇØ¶ó' ¶ó°í Çϴ ǥÁØ
ÀÔ´Ï´Ù. APIÀÇ I´Â Interface¶õ°É ¸í½ÉÇϽʽÿä.
À̸»Àº °ð 'Java ÇÁ·Î±×·¥À» ¸¸µé·Á¸é ÀÌ°É ÀÌ¿ëÇØ¼ ÀÌ·¸°Ô ÇØ¶ó..' ¶õ ¶æ¿Ã½Ã´Ù..
(ÀÌ·±°Í±îÁö ¼³¸íÀ» ÇØÁà¾ß Çմϱî?)
System.out.println("hello?");
hello? ¶õ ¸»À» console¿¡ »Ñ¸±·Á¸é out Áï, java.io.PrintStreamÀ̶õ Interface¸¦ ÀÌ¿ëÇ϶õ
¸»ÀÔ´Ï´Ù. ´ìÀÌ ±×·¡ÇÈ µð¹ÙÀ̽º API¸¦ ¾ò¾î¼ »Ñ¸®½Ç·Á¿ì?
±× ¸¹Àº ±×·¡ÇÈ Ä«µå º¥´õµé APIµé ´Ù ¿¬±¸Çؼ?
µµ´ëü standard¸¦ ¹«ÀǽÄÁß¿¡ ÀÌ¿ëÇÏ¸é¼ de facto¶ó´Ï¿ä..
À̾߱Ⱑ Àá½Ã »ü´Âµ¥.. À§¿¡µµ À̾߱âÇßÁö¸¸ getter/setter´Â ÀüÇô Áß¿äÇÑ°Ô ¾Æ´Õ´Ï´Ù.
¾Æ... °³ÀÎÀûÀ¸·Î reflectionº¸´Ù´Â interface¸¦ ÁÁ¾ÆÇÕ´Ï´Ù. ÃëÇâ¹®Á¦°ÚÁö¿ä..
Á¦°¡ À̾߱âÇÏ°í ½ÍÀº°ÍÀº..
»ç¶÷µéÀÌ ¿Ö EJBÇϸé Business LogicÀ» ¶°¿Ã¸®¸é¼ JavaBeans¸¦ À̾߱âÇÏ¸é ´Ü¼øÇÑ µ¥ÀÌÅÍ
ÀúÀå¼Ò¸¦ ¶°¿Ã¸®³Ä´Â °ÍÀÔ´Ï´Ù.
(EJB¿Í JavaBeans´Â ¿ÏÀüÈ÷ Ʋ¸³´Ï´Ù. Spec.ÀÌ Æ²¸®Áö¾Ê½À´Ï±î?)
(»ç½Ç EJB·Î 99³âµµ¿¡ »ç¾÷ȸ¦ »ý°¢Çß¾úÁö¿ä.. 50Kbyte Çϳª deploy½Ã۴µ¥ 1000¸¸¿ø
µìµð´Ù.. Á¨Àå..)
JavaBeans ¿ª½Ã °Å´ëÇÑ Business Logic À» °¡Áø °´Ã¼µ¢¾î¸®ÀÔ´Ï´Ù.
JVM À§¿¡¼ µ¹¾Æ°¡´Â Business°´Ã¼ µ¢¾î¸®..
ÀÌ ÀÚü°¡ Èï¹Ì·ÓÁö ¾Ê½À´Ï±î?
JavaBeans ÄÄÆ÷³ÍÆ®¸¦ IDE Tool¿¡¼ drag & drop ÇØºÃÀÚ ¼Ò½ºº¸¸é
SomeJavaBean bean = new SomeJavaBean();
ÀÔ´Ï´Ù. IDE´Â IntrospectionÀ» ÅëÇØ ÀÌ jarÆÄÀÏÀÌ javabeans¶õ °ÍÀ» ÀνÄÇϰí property
¿Í event¸¦ ¼³Á¤ÇÒ Áغñ¸¦ Çϴ°ͻÓÀÔ´Ï´Ù.
IDE°¡ ¿øÇÏ´Â°Ç Interface»ÓÀÔ´Ï´Ù.
Interfaec´Â °ð Spec. Àü¹®¿ë¾î·Î Ç¥ÁØÀÔ´Ï´Ù.
ÇÒ À̾߱â´Â ¸¹Áö¸¸ ÀÌ Interface¸¦ ºÎÁ¤ÇÏ´Â ±Û»ÓÀÌ´Ï.. ÈûÀÌ ÂÓ ºüÁý´Ï´Ù.
ÀÌ¿ø¿µ´Ô ¸»¾¸´ë·Î JavaBeans°¡ Á¦´ë·Î ¹æÇâÀ» ÀâÀ»·Á¸é CBD°¡ Á¤ÂøÀÌ µÇ¾î¾ßÇÕ´Ï´Ù.
±×·¯³ª ±×Àü¿¡ CBD°¡ ¹ºÁö¸¦ ¼·Î ÀÌÇØ°¡ µÇ¾î¾ß ÇҰͰ°½À´Ï´Ù.
±×·¸Áö ¾ÊÀ¸¸é À̾߱Ⱑ °è¼Ó °Ñµ½´Ï´Ù.
CBD, Interface, °ÇÑ ³»ºÎÀÀÁý·Â, ¿ÏÀüÇÑ BlackBox..
À̰͵µ ±ØÈ÷ °³ÀÎÀûÀÎ ÃëÇâÀԴϱî?
P.S.
public Á¢±ÙÀÚ¸¦ °¡Áö´Â property¸¦ ÁÁ¾ÆÇÏ´Â »ç¶÷ÀÌ ÀÖ´Ù´Ï..
ÀÌ°Ç Á¤¸» ÀÇ¿ÜÀÔ´Ï´Ù.
ÁÁ¾ÆÇÏ´Â ¿©ÀÚ »çŸ±¸´Ï¸¦ °³³ª¼Ò³ª ¾Æ¹« Á¦ÇѾøÀÌ ¸¸Áú¼ö ÀÖ´Ü À̾߱âÀε¥..
Çö½Ç¿¡¼µµ °¡´ÉÇÏÁö ¾ÊÀº À̾߱⸦ ÄÄÇ»ÅÍ»ó¿¡ ±¸ÇöÀ» ÇÑ´Ù?
³Ê¹« KTFÀûÀÎ »ý°¢¾Æ´Õ´Ï±î?
|
Á¦¸ñ : Re: °íÁ¤°ü³ä ±Û¾´ÀÌ: ¹Ú¿µ·Ï(guest) 2004/11/27 02:06:20 Á¶È¸¼ö:1019 ÁÙ¼ö:36 |
|
String vs StringBuffer¿¡¼µµ ´À²¼´Âµ¥ ¹«¾ð°¡ ÇÑ ¹ø ÁÖÀÔµÈ °íÁ¤°ü³äÀ» ±úÁö ¾ÊÀ¸·Á´Â
Á¾·ùÀÇ »ç¶÷µéÀÌ ¼¼»ó¿¡´Â Âü ¸¹Àº °Í °°½À´Ï´Ù. °íÁ¤°ü³äÀ» ±ú°í ¼¼»óÀ» ÇÑ ¹ø º¸½Ê½Ã¿À.
¼¼»óÀº ´ç½ÅÀÌ º¯ÇÏ´Â °Íº¸´Ù ÈξÀ »¡¸® º¯Çϰí ÀÖ½À´Ï´Ù. ¾Æ¸¶µµ ÀÌ·± Á¾·ùÀÇ »ç¶÷µéÀÌ
°íÁ¤°ü³äÀ» ½±°Ô ±úÁö ¸øÇÏ´Â ÀÌÀ¯´Â ´Ù¸¥ »ç¶÷ÀÇ ÀǰßÀ» ÁÖÀDZí°Ô »ìÇÇÁö ¾Ê±â ¶§¹®ÀÌ
¾Æ´Ñ°¡ ÇÕ´Ï´Ù. ³ª¸§´ë·Î ´Ù¸¥ »ý°¢À» Á¢ÇÏ°í ´Ù½Ã ÇÑ ¹ø °í¹ÎÇØº¸¸é ÁÁÀº ±âȸ°¡ µÉ
¼öµµ ÀÖ´Â °ÍÀ» °íÁ¤°ü³ä ¶§¹®¿¡ ³¯·Á¹ö¸®°í ÀÖÁö´Â ¾Ê³ª »ý°¢Çغ¸¼ÌÀ¸¸é ÁÁ°Ú±º¿ä.
1. public ÇÁ·ÎÆÛƼ¿Í private ÇÁ·ÎÆÛƼ + public getter/setter´Â Á¢±Ù¼ºÀÌ ¿ÏÀüÈ÷ µ¿µîÇÕ´Ï´Ù.
°áÄÚ ´õ KTFÀûÀÎ »ý°¢Àº ¾Æ´ÏÁÒ. ÀÚ¹ÙºóÁî´Â ºí·¢¹Ú½º°¡ ¾Æ´Ï¶ó ÈÀÌÆ®¹Ú½ºÀÔ´Ï´Ù.
ÁÖÀÔµÈ Áö½ÄÀ» Àá½Ã Á¢¾îµÎ°í '»ó½ÄÀû'À¸·Î »ý°¢Çغ¸½Ê½Ã¿À.
2. "JavaBeans ¿ª½Ã °Å´ëÇÑ Business Logic À» °¡Áø °´Ã¼µ¢¾î¸®ÀÔ´Ï´Ù."¶ó°í Çϼ̴µ¥..
ÀÚ¹ÙÀÇ ¸ðµç °´Ã¼´Â ºñÁî´Ï½º ·ÎÁ÷À» °¡Áø °´Ã¼ µ¢¾î¸®ÀÏ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·± ÀÚ¹Ù °´Ã¼¿Í
±¸ºÐµÇ´Â ÀÚ¹ÙºóÁîÀÇ Æ¯Â¡ÀÌ ¹«¾ùÀϱî¿ä?
3. ÀÚ¹ÙºóÁ À̾߱âÇÏ¸é¼ ÀÎÅÍÆäÀ̽º¸¦ À̾߱âÇÏ´Â Àǵµµµ Á¶±Ý È¥µ¿µË´Ï´Ù.
reflectionº¸´Ù interface¸¦ ÁÁ¾ÆÇÏ½Å´Ù¸é ´ç¿¬È÷ ÀÚ¹ÙºóÁ ½È¾îÇϼžßÇÒ °Í °°Àºµ¥¿ä.
±× introspectionÀÌ ¾î¶»°Ô µ¿ÀÛÇÏ´Â °Å¶ó°í »ý°¢ÇϽô °ÇÁö?
4. ¹°·Ð ºóÁî API¿¡ ¸Â°Ô ¾²·Á¸é ÀÚ¹ÙºóÁîÀÇ Çü½ÄÀ» °®Ãç¾ß°ÚÁÒ. ±×·¸´Ù°í ºóÁî API¸¦
¾²Áö ¾Ê´Â °´Ã¼¸¦ ÄÚµùÇÒ ¶§Á¶Â÷ ÀÚ¹ÙºóÁîó·³ getter/setter¸¦ °®Ãç¾ßÇÒ±î¿ä? ºóÁî API´Â
Ç¥ÁØÀÏÁö¾ðÁ¤ ÀÚ¹ÙºóÁî´Â °áÄÚ ÇÁ·ÎÆÛƼ °ü¸® ¹æ½ÄÀÇ Ç¥ÁØÀÌ ¾Æ´Õ´Ï´Ù.
5. ÈçÈ÷ ¸»ÇÏ´Â Á¼Àº ÀǹÌÀÇ CBD°¡ ÁÖ·ù·Î Á¤ÂøµÇ´Â ÀÏÀº ¾øÀ» ²¨¶ó°í °¨È÷ ¸»Çغ¾´Ï´Ù.
CBD´Â º¯È¿¡ ¾àÇÑ ¹æ¹ý·ÐÀÔ´Ï´Ù. CBDÀÇ ¼º°ø »ç·ÊµéÀº º¸Åë °ß°íÇϰí Àß ÀÛ¼ºµÈ ÄÄÆ÷³ÍÆ®µéÀ»
Á¶¸³¸¸ ÇØµµ requirement¸¦ ¸¸Á·½Ãų ¼ö ÀÖÀ» ¶§ »ÓÀÌÁÒ. ÇÏ·çÇÏ·ç º¯ÈÇÏ´Â requirement¸¦
¸¸Á·½ÃŰ±â¿¡´Â ³°Àº ¹æ¹ý·ÐÀÔ´Ï´Ù. ¹°·Ð ³ÐÀº ÀǹÌÀÇ CBD¶ó¸é RUP µîµµ Æ÷Ç﵃ ¼ö ÀÖÀ¸´Ï
±×¸® ³ª»Û °ÍÀº ¾Æ´ÏÁö¸¸¿ä.
6. ÆÄÀ̽ãÀº Á¢±Ù Á¦ÇÑÀÚ°¡ ¾Æ¿¹ ¾ø´Â ¾ð¾îÀÓ¿¡µµ ÀÚ¹Ùº¸´Ù ´õ °´Ã¼ÁöÇâÀûÀÎ ¾ð¾î·Î ºÒ¸®°í
ÀÖ½À´Ï´Ù. ¿Ö ±×·²±î¿ä? ÆÄÀ̽㠰³¹ßÀÚ°¡ KTFÀûÀÎ »ç¶÷À̶ó¼?
----
http://youngrok.com
NHN Corp. À¥Ç÷§ÆûÆÀ
code for human, not for programmer.
|
Á¦¸ñ : Re: CBD ±Û¾´ÀÌ: ¼¹Î±¸(guest) 2004/11/27 05:17:04 Á¶È¸¼ö:1258 ÁÙ¼ö:52 |
|
¾Õ¿¡ '¼Õ´Ô'´Ô Çѹø ÀÌ·¸°Ô »ý°¢Çغ¸¼¼¿ä.
CBD¶ó°í ¸»ÇÒ¶§, ÄÄÆ÷³ÍÆ®¶ó´Â ´ÜÀ§°¡ ¹«¾ùÀÎÁö¿ä..
¿ì¸®°¡ EJB¸¦ µðÇ÷ÎÀÌÇÒ¶§ÀÇ ´ÜÀ§ÀÎÁö,
¾Æ´Ï¸é EJB³»ÀÇ Å¬·¡½º ÇϳªÇϳª°¡ ÄÄÆ÷³ÍÆ®ÀÎÁö.
ÄÄÆ÷³ÍÆ®·Î Á¦´ë·Î µ¿ÀÛÇÏ·Á¸é ±×°ÍÀ» ¾î¶² °÷¿¡ ¿Å°Ü³õ¾Æµµ
ÀÎÅÍÆäÀ̽º¸¦ ÅëÇØ¼ Á¤ÀÇµÈ µ¿ÀÛÀ» ¼öÇàÇÏ¸é µÇÁÒ..
±×·±µ¥ ±× ÄÄÆ÷³ÍÆ®°¡ JAVA Ŭ·¡½º ÇѰ³ÀÎÁö¿¡ ´ëÇØ¼´Â
»ý°¢ÇØ º¼ Çʿ䰡 ÀÖ´Â °Í °°³×¿ä..
¿¹¸¦µé¾î, ÇϳªÀÇ À¥ ¼ºñ½º¸¦ ¸¸µé¾î¼ À̸¦ µî·Ï½ÃÄ×À» ¶§
ÀÌ ¼ºñ½º´Â Àß Á¤ÀÇµÈ Åë½Å ±Ô¾àÀÎ SOAPÀ¸·Î µ¿ÀÛÇϰí,
¼ºñ½º Á¾Á¡ ¹× Á¦°øÇÏ´Â ¼ºñ½º´Â UDDI¿¡ µî·ÏµÇ¾îÀÖÀ» ¶§
±× ¼ºñ½º ³»ÀÇ ÇϳªÇϳªÀÇ Àڹ٠Ŭ·¡½º°¡ ´Ù ¿ÏÀüÇÑ
Ãß»óȰ¡ µÇ¾ßÇÒ±î¿ä? ±×°Íµµ ÇöÀç·Î¼´Â ºÒÇÊ¿äÇÏ´Ù°í »ý°¢µÇ°í,
¹Ì·¡¿¡´Â ÀϾÁö ¾ÈÀϾÁöµµ ¸ð¸£´Â °ËÁõÀ» À§ÇØ ¸ðµç field ¸¦
privateÀ¸·Î ¸¸µé¸é¼¿ä?
Àú´Â ±×·± ¿ÏÀüÇÑ Ãß»óÈ¿¡ ´ëÇØ¼ »ó´çÈ÷ ȸÀÇÀûÀÎ ÀÔÀåÀ̰ŵç¿ä.
¾Æ¸¶ ¸¶Æ¾ ÆÄ¿ï·¯¿ª½Ã ³»ºÎ¿¡¼ ¾²´Â Ŭ·¡½º¸¦ ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇÑ
publish¸¦ ÇÏÁö ¸»¶ó°íÇÏÁÒ..
http://www.artima.com/intv/principles3.html
ÀÎÅÍÆäÀ̽º³ª ºí·¢ ¹Ú½º³ª ÇÏ´Â °³³äÀÌ ³ª»Ú´Ù´Â°Ô ¾Æ´Ï¶ó, ±×°ÍÀ»
¾î¶² ¾÷¹« ´ÜÀ§¿¡¼ ºí·¢ ¹Ú½º·Î ¸¸µé°í ÀÎÅÍÆäÀ̽º·Î ¸¸µå´Â °Ô
³´´Ù´Â À̾߱âÀÌÁÒ..
»ç½Ç ÀÚ¹ÙÀÇ ÀÚ¹Ù ºóÁî¶ó°í ÇÏ¸é ¾îµð³ª °®´Ù³õ¾Æµµ Àß µ¿ÀÛÇÏ´Â
¹ÙÀ̳ʸ® ºñÁî´Ï½º ·ÎÁ÷À̶ó°í ¸»ÇÒ ¼ö ¾ø´Â°Ô, ±×°Ç ¾îµð±îÁö³ª
ÀÚ¹Ù ¾ð¾î¿Í¸¸ Åë½ÅÇÏ´Â °Å¶ó°í »ý°¢ÇÕ´Ï´Ù.. ±×¸®°í ±×·± ÀÚ¹Ù
Ŭ·¡½º¸¦ ¹¾î¼ À̱âÁ¾È¯°æ¿¡¼µµ ¿ÏÀüÈ÷ Åë½Å°¡´ÉÇÑ ¼ºñ½º ÇüÅ·Î
¸¸µéÀÚ´Â°Ô Áö±ÝÀÇ À̾߱âÀε¥ (½ÉÁö¾î »ç¶÷µéÀº APIÀÇ ½Ã´ë´Â
°¡°í SOAÀÇ ½Ã´ë°¡ °¬´Ù°í±îÁö ¸»ÇÏÁÒ...), ±×·¸°Ô Á¦°øµÇ´Â ¼ºñ½º
³»ÀÇ Àڹ٠Ŭ·¡½ºµéÀÌ ¸ðµÎ ÀÚ¹ÙºóÁî ±Ô¾àÀ» µû¶ó¾ßÇÒ·±Áö.
¿ÏÀüÇÑ Ãß»óÈ´Â ¹Ì·¡¿¡ ´ëÇÑ ÅõÀÚÀÌÁö¸¸, ¸¸¾à ¹Ì·¡¿¡ ÅõÀÚÇÑ
³ë·Â¿¡ ´ëÇØ µ¹¾Æ¿À´Â °ÍÀÌ ÀüÇô ¾ø´Ù¸é ¾î¶»°Ô µÉ±î¿ä..?
drag & drop À¸·Î ±×¸² ±×¸®µíÀÌ ÇÁ·Î±×·¥À» §´Ù.. ¶ó´Â °³³äµµ
±×¸®°í ÀÚ¹Ù ºóÁî - Ŭ·¡½º - ´ÜÀ§ º¸´Ù´Â ÈξÀ Å« ºñÁî´Ï½º ·ÎÁ÷´ÜÀ§·Î
±×¸² ±×¸®µíÀÌ Â§´Ù.. ¶ó´Â°Ô ¶Ç MDAÀÇ È帧 ¾Æ´ÑÁö..
¿äÁòÀº À¯¿¬ÇÏ°Ô Äڵ带 ¹Ù²Ü ¼ö ÀÖ¾î¾ßÇÑ´Ù.. ¶ó´Â°Ô ´ë¼¼°¡ ¾Æ´Ñ°¡
(¿Ç°Ç ±×¸£°Ç °£¿¡)¶ó°í »ý°¢À̵ǰí, ±×·±¸¸Å ¼¼¼¼ÇÑ ´ÜÀ§¿¡¼
Ãß»óÈ´Â Áö¾çÇÏ°Ô µÇÁö ¾Ê³ª »ý°¢µÇ³×¿ä.. Á¦ ÄÚµù ½ºÅ¸Àϵµ ±×·¸°í..
¿ª½Ã ÆÄ¿ï·¯´Â °°Àº ÀÏÀ» µÎ¹øÇÒ¶§±îÁö´Â ±×³É µÎ¹ø ÇÑ´Ù, ¼¼¹ø ÇØ¾ßÇÑ´Ù°í
ÇÏ¸é ±×¶© Çѹø¸¸ Çϵµ·Ï °íÄ£´Ù..¶ó°í ¸»ÇßÁÒ.
ÀÎÅÍÆäÀ̽º°¡ ÇÊ¿ä¾ø´Ù°í ¸»ÇÏ´Â °Ç ¾Æ´Õ´Ï´Ù..
´Ù¸¸, ±× ´ÜÀ§°¡ ¾î¶»°Ô µÇ´À³Ä¸¦ ´Ù¸£°Ô º¼ »ÓÀÎ µí.
|
Á¦¸ñ : Re: Àá½Ã µ¡ºÙ¿©.. ±Û¾´ÀÌ: ȲÁ¾ÈÆ(guest) 2004/12/02 13:23:13 Á¶È¸¼ö:803 ÁÙ¼ö:46 |
|
¹Ú¿µ·Ï´ÔÀÇ Ã¹¹øÂ° ±Û¿¡¼
"ÆÄÀ̽ãÀ̳ª ±×·çºñ µîÀÇ ¾ð¾î¿¡´Â public, private¿Í °°Àº Á¢±Ù Á¦ÇÑÀÚ°¡ ¾ø½À´Ï´Ù.
°´Ã¼ÀÇ Çʵå´Â Á÷Á¢ Á¢±ÙÇÒ ¼öµµ ÀÖ°í "
´ÙÀ½°ú °°Àº ºÎºÐÀÌ Àִµ¥¿ä. ÆÄÀ̽ãÀº ¸ð¸£°ÚÀ¸³ª ±×·çºñ °°Àº °æ¿ì
¹°·Ð Á¢±Ù Á¦ÇÑÀÚ´Â ¾øÁö¸¸, Çʵ带 Á÷Á¢ Á¢±ÙÇÏÁö ¾Ê½À´Ï´Ù.
class Foo{
String name;
}
°ú °°Àº Ŭ·¡½º´Â publicÇʵå Çϳª ÀÖ´Â °Í ó·³ º¸ÀÌÁö¸¸ »ç½Ç ³»ºÎÀûÀ¸·Î
set°ú getÀ» ¸¸µé°í ÀÖ½À´Ï´Ù.
class Foo{
String name;
Foo(){
name = "my name is foo."
}
String getName(){
println "....getName()"
return "my name is not foo."
}
static void main(args){
foo = new Foo()
println foo.name
}
}
´ÙÀ½°ú °°Àº groovyÈÀÏ ½ÇÇà½Ã "....getName()"°ú ´õºÒ¾î
"my name is not foo."ÀÌ Ãâ·ÂµË´Ï´Ù.
publicÇʵåÁ¢±ÙÀ̶ó¸é "my name is foo."°¡ Ãâ·ÂµÇ¾ß ÇϰÚÁÒ.
ÇѸ¶µð·Î groovyÀÚü°¡ ÄÚµåÁ¦³×·¹ÀÌÅͶó´Â °Ì´Ï´Ù.
¹¹ Âü°í·Î ºóÁî°¡ ¾Ç½À±îÁø ¾Æ´Ï´õ¶óµµ
Àúµµ ¹Ú¿µ·Ï´Ô°ú Map¿¡ ´ëÇÑ »ý°¢ÀÌ ºñ½ÁÇÕ´Ï´Ù.
----
by ÀÌÁðÇØ
|
Á¦¸ñ : Re: Active Code Generation ±Û¾´ÀÌ: ¹Ú¿µ·Ï(poci) 2004/12/02 13:51:21 Á¶È¸¼ö:971 ÁÙ¼ö:18 |
|
±×·çºñ°¡ ÄÚµå Á¦³×·¹ÀÌÅÍ ¿ªÇÒÀ» ÇÏ´Â °ÍÀº ÀÚ¹ÙÀÇ ÀÔÀåÀÌ°í ±×·çºñ¸¦ ÇϳªÀÇ
¾ð¾î·Î º»´Ù¸é Á¢±Ù Á¦ÇÑÀÚ°¡ ¾ø´Ù°í ÇÒ ¼ö ÀÖÁÒ. ³»ºÎÀûÀ¸·Î ÄÚµå »ý¼ºÀ» ÇÏ´õ¶óµµ
À¯Àú°¡ ±×·çºñ¸¸ º»´Ù¸é »ó°ü ¾ø´Â ¹®Á¦ÀÔ´Ï´Ù. À§¿¡ ¿¹¸¦ µå½Å ÄÚµåÀÇ °æ¿ì´Â
Á¢±Ù Á¦ÇÑÀÚÀÇ ¹®Á¦¶ó±âº¸´Ù ±×·çºñÀÇ ¸â¹ö º¯¼ö°¡ ÆÄÀ̽ã, C#µîÀÇ ÇÁ·ÎÆÛƼ¿Í
À¯»çÇÑ °³³äÀ¸·Î µ¿ÀÛÇÒ ¼ö ÀÖ´Ù´Â ¿¹·Î º¸´Â °Ô ¸Â´Â °Í °°½À´Ï´Ù.
±×¸®°í, ÀÌ·± Á¾·ùÀÇ ÀÚµ¿ ÄÚµå »ý¼ºÀº º°´Ù¸¥ ¹®Á¦°¡ ÀÖ´Â ±¸Á¶´Â ¾Æ´Ï¶ó°í º¾´Ï´Ù.
CodeGenerationIsaDesignSmell unless it's ActiveCodeGeneration
http://c2.com/cgi/wiki?CodeGenerationIsaDesignSmell
http://c2.com/cgi/wiki?ActiveCodeGeneration
p.s. ÀοëÇϱâ´Â ¿ª½Ã À§Å°°¡ ÆíÇϱº¿ä.
----
http://youngrok.com
NHN Corp. À¥Ç÷§ÆûÆÀ
|
Á¦¸ñ : Re: ÇÁ·ÎÆÛƼÁ¢±Ù¿¡ ´ëÇÑ ºÎ¿¬¼³¸í ±Û¾´ÀÌ: ȲÁ¾ÈÆ(guest) 2004/12/02 22:15:25 Á¶È¸¼ö:905 ÁÙ¼ö:32 |
|
¿¹ ¸Â½À´Ï´Ù.
Àü groovyÀÇ Çʵå Á¢±ÙÀÌ ÆÄÀ̽ã, C#µîÀÇ ÇÁ·ÎÆÛƼ Á¢±Ù°ú À¯»çÇÑ
¹¹ ±×·±°Å¶ó´Â °ÍÀ» º¸¿©µå¸®°í ½Í¾ú´ø °Ì´Ï´Ù.
¹Ú¿µ·Ï´ÔÀÇ "°´Ã¼ÀÇ Çʵå´Â Á÷Á¢ Á¢±ÙÇÒ ¼öµµ ÀÖ°í" ¶ó´Â ¸»¿¡ ¿ÀÇØÀÇ ¼ÒÁö°¡ ÀÖ¾î
¿Ã·Áµå·È´ø °Ì´Ï´Ù.
¹Ú¿µ·Ï´Ô²²¼ ¹Ù·Î À§¿¡¼ ¸»¾¸ÇϽŴë·Î Àú Á¢±ÙÀº ÇÁ·ÎÆÛƼÁ¢±ÙÀÔ´Ï´Ù.
Á¦°¡ ¸»À» ´Ù½Ã ¹Ù²ÙÀÚ¸é
"°´Ã¼ÀÇ Çʵ带 getter,setter¾øÀÌ Á÷Á¢ Á¢±ÙÇÏ´Â °Íó·³-publicó·³-Á¢±Ù ÇÒ ¼ö ÀÖ°í,
Çʿ信 µû¶ó getter,setterÀ» µÎ¾î ÇÁ·ÎÆÛƼ Á¢±Ù¿¡ ºÎ°¡ÀûÀÎ ±â´ÉÀ» Áö¿øÇÒ ¼ö ÀÖ´Ù."
¹¹ ÀÌÁ¤µµ µÇ°Ú½À´Ï´Ù.
¹Ú¿µ·Ï´Ô²²¼´Â ÀÌ »ç½ÇÀ» ¾Ë°í °è½Å´Ù ÇÏ´õ¶óµµ
ÀÐÀ¸½Ã´Â ºÐÀÌ ¿ÀÇØÇÒ ¼ÒÁö°¡ ÀÖ¾î ¿Ã¸° °Í »ÓÀÔ´Ï´Ù.
(ƯÈ÷ 'ÀÚ¹Ù'¸¸ Á¢ÇϽŠºÐ¿¡°Ô)
'³»ºÎÀûÀ¸·Î ÄÚµå »ý¼ºÇؼ ¹®Á¦'°¡ ÀÖ´Ù°íµµ,
'Á¢±Ù Á¦ÇÑÀÚÀÇ ¹®Á¦'¶ó°íµµ,
'ÀÚµ¿ ÄÚµå »ý¼ºÀº º°´Ù¸¥ ¹®Á¦°¡ ÀÖ´Ù'°íµµ ÇÏÁö ¾Ê¾Ò½À´Ï´Ù.
Áö±Ý±îÁö ¹Ú¿µ·Ï´Ô²²¼ ¸»¾¸ÇϽðíÀÚ ÇÏ´Â ¹Ùµµ ´Ù ¾Ë°Ú°í,
ÀüºÎ ´Ù´Â ¾Æ´ÏÁö¸¸ Àúµµ »ý°¢Çß´ø ºÎºÐÀÌ¸ç µ¿ÀÇÇϰí ÀÖ½À´Ï´Ù.
¹®Á¦¶ó°í ¸»¾¸ÇϽøç, ±»ÀÌ À§Å°±îÁö ÀÎ¿ë ¾ÈÇϼŵµ µË´Ï´Ù.
¹Ý·ÐÀ̶ó±âº¸´Ù ¿ÀÇØÀǼÒÁö°¡ ÀÖ´Â °ÍÀ» Ãß°¡¼³¸íÇß´Ù°í »ý°¢ÇØ ÁÖ½Ã¸é °¨»çÇϰڽÀ´Ï´Ù.
------
by ÀÌÁðÇØ
|
Á¦¸ñ : Re: Áö½ÄÀº ±íÁö ¾ÊÁö¸¸... ±Û¾´ÀÌ: ¹ÎºÀ±â(guest) 2006/04/13 14:23:37 Á¶È¸¼ö:1400 ÁÙ¼ö:18 |
|
±»ÀÌ property¸¦ publicÀ¸·Î ¼±¾ðÇÏÁö ¾Ê°í method¸¦ ÅëÇØ Á¢±ÙÇÔÀº
µ¥ÀÌÅ͸¦ ÁÖ°í ¹ÞÀ½¿¡ ÀÖ¾î
º¯°æ¿¡ ´ëÇØ ´ÝÇô ÀÖ°í, È®Àå¿¡ ´ëÇØ ¿·Á ÀÖ±â À§ÇÔÀÌ ¾Æ´Ò±î¿ä?
»ç½Ç ÀÌ ¸» ÀÚü´Â ¾ÆÁÖ ´Ü¼øÇÑ °Çµ¥...
°¡·É ¿©·¯ »ç¶÷(¾÷ü)ÀÌ °ü¿©ÇÑ ÇÁ·ÎÁ§Æ®¿¡¼ Data Model°ú Value Object (bean) À» ´©°¡ Á¤ÀÇ Çϴ°¡?
¶Ç ±× ºóÀ» »ç¿ëÇÏ´Â »ç¶÷(¾÷ü)ÀÌ ¿©·µÀÏ ¶§ °¢°¢ÀÇ ¸ðµ¨, ÄÁÆ®·Ñ·¯ ´Ü µî¿¡¼
±â´É È®Àå¿¡ ´ëÇØ À¯¿¬ÇÒ ¼ö ÀÖ±â À§ÇÏ¿© Á÷Á¢ Á¢±ÙÀ» ½ºÆåÀ¸·Î ÇÏÁö ¾Ê°í
¸Þ¼Òµå¸¦ ÅëÇØ Á¢±ÙÇÔÀ» ½ºÆåÀ¸·Î ÇÑ °ÍÀ¸·Î À¯ÃßÇØ º¾´Ï´Ù.
»ç½Ç ÇÁ·ÎÁ§Æ®¸¦ °³¹ßÇÏ´Â Áö±Ý ´Ü°è¿¡¼ Á÷Á¢ Á¢±Ù ÇÏ´Â ¹æ¹ýÀÌ ´õ ÁÁÀº È¿À²À» ³½´Ù°í »ý°¢ÇÒ ¼ö ÀÖÀ»Áö ¸ð¸£°Ú½À´Ï´Ù.
ÇÏÁö¸¸, Èʳ¯ ´©°¡µÉÁö ¸ð¸£´Â ¼öÁ¤ÀÚ°¡ ¾î¶² º¯°æ »çÇ×ÀÌ ÀÌ·ç¾î ÁúÁö ¸ð¸£´Â »óȲÀ» ¸¸³µÀ» ¶§
¾Õ¼ ÀÖ´ø »ç¶÷ÀÌ À¯¿¬ÇÏ°Ô ÄÚµùÀ» ÇØ ³õ¾Ò´Ù¸é Ȥ °ï¶õÇÑ »óȲÀÌ ÁÙ¾îµéÁö ¾ÊÀ»±î »ý°¢ÇØ º¾´Ï´Ù.
Áï °á·ÐÀº Áö±Ý ´çÀåÀº Á÷Á¢ ¿¢¼¼½º°¡ ÁÁÀº °ÍÀ̶ó ÆÇ´ÜÇÒÁø ¸ô¶óµµ, ÄÚµåÀÇ º¯µ¿Àº ¿¹ÃøÇÒ ¼ö ¾ø´Ù´Â °Í°ú
ÃÖ´ëÇÑ µÞ °³¹ßÀÚ¸¦ À§ÇØ À¯¿¬ÇÏ°Ô ¸Þ¼Òµå Á¢±Ù ¹æ½ÄÀ¸·Î ÇØ ³õ´Â °ÍÀ» ½ºÆÑÀ¸·Î °áÁ¤ÇÑ µí ÇÏ´Ù´Â °ÍÀÔ´Ï´Ù.
|
Á¦¸ñ : Re: Çä...2³âÀü ±ÛÀε¥ ¾ÆÁ÷µµ À̾îÁö´Â±º¿ä. ±Û¾´ÀÌ: ¼Õ´Ô(guest) 2006/04/14 09:29:32 Á¶È¸¼ö:2024 ÁÙ¼ö:3 |
|
À§¿¡ ½Ç¸íÀ¸·Î ±Û ¿Ã¸®½ÅºÐµé, ²Ï ¾Ë·ÁÁö½ÅºÐµé °°À¸½Åµ¥ effective java
°°Àº Ã¥À» ÀÐ¾î º¸¼Ì³ª ¸ð¸£°Ú½À´Ï´Ù...2004³âµµ¸é ÀÚ¹Ù Ãʱ⵵ ¾Æ´Ï°í...
Á¶±Ý ½Ç¸Á½º·´±âµµ Çϰí Ȳ´ç½º·´±âµµ Çϰí...
|
Á¦¸ñ : Re: Çæ.. ±Û¾´ÀÌ: ¼Õ´Ô(guest) 2006/04/16 21:06:45 Á¶È¸¼ö:913 ÁÙ¼ö:3 |
|
¾ÆÁ÷µµ effective java ¼öÁØ¿¡¼ ³î°í ÀÖ´Â »ç¶÷ÀÌ ÀÖ´Ù´Ï...
Á¶±Ý ½Ç¸Á½º·´±âµµ Çϰí Ȳ´çÇϱ⵵ Çϰí...
|
Á¦¸ñ : Re: RE: Çæ... ±Û¾´ÀÌ: ¼Õ´Ô(guest) 2006/04/16 23:06:27 Á¶È¸¼ö:875 ÁÙ¼ö:1 |
|
effective java ¼öÁØ ´ÙÀ½Àº ¾î¶² ¼öÁØÀϱî?
|
Á¦¸ñ : Re: ±×°Ç.. ±Û¾´ÀÌ: ¼Õ´Ô(guest) 2006/04/17 06:03:08 Á¶È¸¼ö:983 ÁÙ¼ö:13 |
|
ÀÚ¹Ù¸¦ ³Ñ¾î¼± ÆÐ·¯´ÙÀÓÀ» ÀÚ¹Ù¿¡ Àû¿ëÇÏ´Â ¼öÁØÀ» ¸»ÇÏ´Â °ÍÀ̶ó¿À.
ÀÚ¹Ù ¹Û¿¡ ¸ð¸£¸é ÀÚ¹ÙÁ¶Â÷ ÀßÇÒ ¼ö ¾ø´Â ½Ã´ë°¡ µÇ¾î°¡°í ÀÖÀ¸´Ï±î.
±×³É Àڱ⠻ý°¢ ÇÑ ¸¶µðµµ ¾øÀÌ Àú ¸¹Àº »ç¶÷µéÀ» ´Ù µµ¸Ë±ÝÀ¸·Î ³Ñ°Ü¼ ºñ¾Æ³É´ë´Â
²¿¶óÁö°¡ º¸±â ½È¾î¼ ¶È°°ÀÌ ºñ¾Æ³Ã°Å·Á ºÃ¼ÒÀÌ´Ù.
Á¡Á¡ ÀÚ¹Ù¼ºñ½º³Ý¿¡ ³íÀï´Ù¿î ³íÀïÀÌ »ç¶óÁö°í ½Ç¸íÀ¸·Î ³íÀï¿¡ Âü¿©ÇÏ´Â »ç¶÷ÀÌ
»ç¶óÁö´Â °Ô ´Ù Àú·± Àΰ£ ¶§¹® ¾Æ´Ï°Ú¼ö.
|
Á¦¸ñ : Re: ÀºÐ µµ´ëü ¹«½¼¸»ÀÎÁö ±Û¾´ÀÌ: ¼Õ´Ô(guest) 2006/04/21 00:21:36 Á¶È¸¼ö:881 ÁÙ¼ö:8 |
|
´©±¸¿¡°Ô ÇÏ´Â ¸»ÀÎÁö ¸ð¸£°Ú¼Ò.
¹«½¼ ²¿¶óÁö°¡ º¸±â ½È¾î¼ ¶È°°ÀÌ Çß´Ù´Â °ÍÀÎÁö.
Àú·± Àΰ£ À̶õ µµ´ëü ´©±¸¿ä?
½Ç¸íÁß¿¡ ´©±¸¿ä?
|
Á¦¸ñ : Re: ¾Æ... ±Û¾´ÀÌ: ¼Õ´Ô(guest) 2006/04/21 02:55:19 Á¶È¸¼ö:840 ÁÙ¼ö:16 |
|
¶Ç ÀÌÇØ ¾ÈµÇ´Â ºÐ µîÀåÀ̱¸·Á. ¼³¸í Àü¹®°¡ÀÇ ¼³¸í µé¾î°©´Ï´Ù-_-
Á¦¸ñ : Re: Çä...2³âÀü ±ÛÀε¥ ¾ÆÁ÷µµ À̾îÁö´Â±º¿ä.
ÀÌ ±ÛÀ» 1¹øÀ¸·Î ³õ°í ±× µÚºÎÅÍ Âß 2, 3, 4¹øÀ¸·Î µÎ¸é
1¹øÀº ÀÌ Åä·Ð¿¡ Âü¿©ÇÑ ¸ðµç »ç¶÷À» ÇÑ ¹ø¿¡ ºñÆÇÇÑ ±ÛÀ̰í
2¹øÀº 1¹øÀ» ºñ¾Æ³É°Å¸° °ÍÀ̰í
3¹øÀº 2¹ø ¾´ »ç¶÷¿¡°Ô ºÎ¿¬ ¼³¸íÀ» ¿äûÇÏ´Â °Å°í
4¹øÀº 2¹ø ¾´ »ç¶÷ÀÌ 3¹ø ±Û¿¡ ´äÇØ ºÎ¿¬ ¼³¸íÀ» ÇÏ´Â °Ì´Ï´Ù.
°í·Î Àú·± Àΰ£À̶õ 1¹ø ±ÛÀ» ¿Ã¸° ¼Õ´ÔÀÌ µÇ°Ú°í
º¸±â ½È¾ú´ø ²¿¶óÁö¶õ 1¹ø ±Û¿¡¼ ºñÆÇÇÏ´Â ¸ð½ÀÀÌ µÇ°Ú¼ÒÀÌ´Ù.
Á¦¹ß »ý°¢ Á» ÇÏ°í »ç½Ã±¸·Á. À̰͵µ ÀÌÇØ°¡ ¾ÈµÇ¸é ÀÚ¹Ù¼ºñ½º³ÝÀÇ ±× ¸¹Àº
²¿¸®¿¡ ²¿¸®¸¦ ¹«´Â ³íÀïµéÀº ¾î¶»°Ô ÀÌÇØ¸¦ ÇϰڼÒ?
|
Á¦¸ñ : Re: ¾Æ»Ô½Î ±Û¾´ÀÌ: ¼Õ´Ô(guest) 2006/04/21 09:56:09 Á¶È¸¼ö:1000 ÁÙ¼ö:3 |
|
³»°¡ ±×¸¸ Âø°¢À» ÇÏ°í ½Ç¸í ±Û¸¸ ÇØµ¶ÇØ ºÃ±¸·á.
ÇÏÇÏÇÏ~ Á㱸¸ÛÀ̶óµµ
|
Á¦¸ñ : Re: ÁÁÀº ±ÛÀÔ´Ï´Ù. ±Û¾´ÀÌ: ¼Õ´Ô(guest) 2006/06/14 15:54:57 Á¶È¸¼ö:980 ÁÙ¼ö:1 |
|
¸¹Àº µµ¿òÀÌ µÇ¾ú½À´Ï´Ù :)
|
Á¦¸ñ : Re: ¤¾¤¾ ±Û¾´ÀÌ: ¼Õ´Ô(guest) 2006/06/23 17:35:59 Á¶È¸¼ö:1009 ÁÙ¼ö:2 |
|
¹¹¶ö±î...Á» ¾¾Àß´ë±â ¾ø´Â ³íÀïÀÌ ³Ñ ¸¹¾Æ¿ä...^^;
³Ê¹« ¶È¶ÈÇØ¼µéÀ̰ÚÁÒ...-_-;
|
Á¦¸ñ : Re: À½~~ ±Û¾´ÀÌ: ³ªµµ¼Õ´Ô(guest) 2009/12/15 14:09:22 Á¶È¸¼ö:1797 ÁÙ¼ö:4 |
|
getter / setter ¿Í public ÀÇ Â÷À̰¡ ¸ÕÁö ±Ã±ÝÇØ¼
ÀÎÅÍ³Ý °Ë»öÁß ¿©±â±îÁö Èê·¯µé¾î¿Ô´Âµ¥..
ÀÌ°Ç ¸Û¹Ì -_-;;;;;; ´Ùµé... ¤§¤§¤§
¾Ïư Àß º¸°í °©´Ï´Ù ¤¾¤¾
|
|