ºÇ¿·

OOD - ¤¿¤Þ¤Ë¤Ã¤­¡£

ºÇ½ª¹¹¿·»þ´Ö: 2008-09-04 19:19

2005-08-12 Fri

¢£ ¸¡º÷·ë²Ì¤ò Iterator ¤ÇÊÖ¤¹?

¸¡º÷·ë²Ì¤¬ Iterator ¤È¤¤¤¦¤Î¤¬·ã¤·¤¯µ¤»ý¤Á°­¤¤¡¥

¡Ö¥Ç¥¶¥¤¥ó¥Ñ¥¿¡¼¥óÆþÌç¡×¤Ë¹ç¤ï¤»¤Æ¡¢ËܤÎÎã¤ò¼¨¤½¤¦¡£¿ô½½Ëüºý¤ÎËܤò»ý¤Ä¿Þ½ñ´Û¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò¹Í¤¨¤ë¡£¤³¤³¤Ç¡¢¥æ¡¼¥¶¤¬¤¢¤ë¾ò·ï¤ÇËܤò¸¡º÷¤·¤¿¤È¤·¤è¤¦¡£Î㤨¤Ð¡¢Ãø¼Ô¤¬¡ÖÎëÌÚÂÀϺ¡×¤ÎËÜ¡¢¤È¤¤¤Ã¤¿¶ñ¹ç¤Ç¤¢¤ë¡£¸¡º÷·ë²Ì¤Ï¡¢¤É¤Î¤è¤¦¤ËÊÖ¤¹¤Ù¤­¤Ç¤¢¤í¤¦¤«¡©
¸¡º÷¤µ¤ì¤¿ËܤΥ¤¥ó¥¹¥¿¥ó¥¹¤ò¤¹¤Ù¤ÆÀ¸À®¤·¤Æ¤«¤é¡¢¤½¤Î½¸¹ç¤ò°ìÅÙ¤ËÊÖ¤¹¡¢¤È¤¤¤¦»ÅÍͤǤâÎɤ¤¤Î¤Ç¤¢¤ì¤Ð¡¢Iterator¥Ñ¥¿¡¼¥ó¤ò»È¤¦É¬ÍפϤʤ¤¡£¤·¤«¤·¡¢¤³¤Î»ÅÍͤˤϡ¢¼¡¤Î¤è¤¦¤ÊÌäÂ꤬¤¢¤ë¡£
    * ¤¹¤Ù¤Æ¤Î·ë²Ì¤¬Â·¤¦¤Þ¤Ç¡¢·ë²Ì¤¬ÊÖ¤µ¤ì¤Ê¤¤¡£ºÇ°­¤Î¾ì¹ç¡¢¿ô½½Ëüºý¤ÎËܤξȹ礬¤¹¤Ù¤Æ´°Î»¤¹¤ë¤Þ¤Ç¡¢¿ô»þ´Ö¤«¤«¤ë²ÄǽÀ­¤â¤¢¤ë¡£
    * ¸¡º÷¤µ¤ì¤¿Ëܤκý¿ô¤¬Â¿¤¤¾ì¹ç¡¢ÊÖ¤µ¤ì¤ë·ë²Ì¤¬µðÂç¤Ë¤Ê¤ë¡£ºÇ°­¤Î¾ì¹ç¡¢¥á¥â¥ê¾å¤Ë¼ý¤Þ¤é¤Ê¤¤²ÄǽÀ­¤â¤¢¤ë¡£
¤³¤Î¤è¤¦¤Ê¥±¡¼¥¹¤Ç¤Ï¡¢Iterator¥Ñ¥¿¡¼¥ó¤ò»È¤¦¤Ù¤­¤Ç¤¢¤ë¡£¸¡º÷·ë²Ì¤È¤·¤Æ¡¢Ëܤν¸¹ç¤Ç¤Ï¤Ê¤¯¡¢Iterator¤òÊÖ¤¹¤Î¤À¡£

¤Ê¤¼ Proxy ¥Ñ¥¿¡¼¥ó¤ò»È¤ï¤Ê¤¤!?

¸¡º÷¤·¤¿·ë²Ì¤ËÂФ·¤Æ¤Ï¡¢ËܤξðÊó¤ò»²¾È¤¹¤ë¤³¤È¤·¤«¤µ¤»¤Ê¤¤¡¢¤È¤¤¤¦°Õ¿Þ¤ò¼¨¤¹¤¿¤á¤Ë¡¢¸¡º÷·ë²Ì¤ÏBookShelf¥¯¥é¥¹¤Ç¤Ï¤Ê¤¯¡¢Iterator¤È¤·¤ÆÊÖ¤¹¤è¤¦¤Ë¤¹¤ë¤Î¤Ç¤¢¤ë¡£

¸¡º÷·ë²Ì¤Ï Immutable ¤Ç¤¢¤ë¤Ù¤­¤À¤¬¡¤Iterator ¤òÊÖ¤¹¤Î¤Ï°ÕÌ£¤¬°ã¤Ã¤Æ¤¯¤ë¤Ç¤·¤ç¤¦¡¥

Category: [OOD]

2005-07-05 Tue

¢£ Flyweight ¥Ñ¥¿¡¼¥ó

Flyweight ¥Ñ¥¿¡¼¥ó¤Ã¤Æ¥Ü¥¯¥·¥ó¥°¤Î¥Õ¥é¥¤µé¤Î¤³¤È¤Ç¡¤ºÇ¤âÂνŤ¬·Ú¤¤³¬µé¤Ç¤¢¤ë¤ÈÀâÌÀ¤µ¤ì¤Æ¤¤¤ë¤¬¡¤°ã¤¦¤¸¤ã¤Ê¤¤¤«!!


¤ÎÀâÌÀ¤ò±­ÆÝ¤ß¤Ë¤·¤Æ¤¤¤ë¤ó¤À¤í¤¦¤Ê¡¥

Category: [OOD]

2005-05-23 Mon

¢£ ¥Ç¥¶¥¤¥ó¥Ñ¥¿¡¼¥ó¤òÆÉ¤ß²ò¤¯

GoF¤Î23¥Ñ¥¿¡¼¥ó¤ò¤½¤Î¤Þ¤Þ²òÀ⤷¤Æ¤¤¤ëËܤ¬Â¿¤¯¡¢»öºÙ¤«¤ÊÀ©Ì󤬤¢¤ë¤«¤Î¤è¤¦¤Ë¸«¤¨¤ë¤»¤¤¤«¡¢¤«¤¨¤Ã¤ÆËܼÁ¤¬Âª¤¨¤Å¤é¤¯¤Ê¤Ã¤Æ¤¤¤ë°õ¾Ý¤¬¤¢¤ê¤Þ¤¹¡£23¥Ñ¥¿¡¼¥ó¤¬¤¹¤Ù¤Æ¤Ç¤Ï¤Ê¤¤¤·¡¢¤³¤Î¥Ñ¥¿¡¼¥ó¼«ÂΥѥ¿¡¼¥ó¤¬¸À¤ï¤ì»Ï¤á¤¿½é´ü¤Ë½Ð¤µ¤ì¤¿¤â¤Î¤Ç¡¢ÀöÎý¤µ¤ì¤Æ¤¤¤Ê¤¤¤È»×¤¦¤Î¤Ç¤¹¡£

¤½¤¦¤Ê¤ó¤À¤è¤Ê¡¼¡¥Íý²ò¤¹¤ë²áÄø¤Ç¤³¤ì¤¬ËܼÁ¤Ê¤ó¤¸¤ã¤Ê¤¤¤Î? ¤È¤«»×¤Ã¤Æ¤â¡¤¤É¤Î¥Ú¡¼¥¸¤ò¸«¤Æ¤â¡¤¤É¤ÎËܤòÆÉ¤ó¤Ç¤â¡Ö¤½¤ì¤¬Îɤ¤¡×¤È¤«¡Ö´Ö°ã¤Ã¤Æ¤¤¤ë¡×¤È¸À¤Ã¤Æ¤¤¤Ê¤¤¡¥Ã±¤Ë¸¶Åµ¤ò¤Ê¤¾¤Ã¤Æ¤¤¤ë¤À¤±¤Î¤è¤¦¤Êµ¤¤¬¤·¤Æ¤¤¤¿¡¥

Î㤨¤Ð¡¤Chain of Responsibility ¥Ñ¥¿¡¼¥ó¤È¤¤¤¦¤Î¤Ï¡¤Ê£¿ô¤Î¥µ¥Ö¥¯¥é¥¹¤ËÂФ·¤Æ½ç¤Ë½èÍý¤ò°ÍÍꤹ¤ë¤â¤Î¤¬ËܼÁ¤À¤È»ä¤Ï¹Í¤¨¤Æ¤¤¤ë¡¥¤À¤«¤é¡¤Handler ¤¬ next ¤ò»ý¤ÄɬÍפâ¤Ê¤¤¤È»×¤¦¡¥¤É¤Á¤é¤«¤È¸À¤¨¤Ð Handler ¤¬ next ¤ò»ý¤Ã¤Æ¤·¤Þ¤¦¤È¡¤½èÍý¤Î¤ß¤ò¹Ô¤Ê¤¦¤Ù¤­¥¯¥é¥¹¤Ë¹½Â¤¤ò¤â»ý¤¿¤»¤Æ¤·¤Þ¤¦¤³¤È¤Ë¤Ê¤ë¤Î¤Ç¡¤Èþ¤·¤¯¤Ê¤¤¤È»×¤¦¡¥

¾¤Ë¤â¡¤Singleton ¤ÎËܼÁ¤Ï¡¤ºîÀ®¤µ¤ì¤ë¥ª¥Ö¥¸¥§¥¯¥È¤Î¿ô¤ò¸ÂÄꤹ¤ë¤³¤È¤À¤È»×¤Ã¤Æ¤¤¤ë¤Î¤À¤¬¡¤¤Û¤È¤ó¤É¤Î¾Ò²ðʸ¤Ç¤Ï¡Ö¥ª¥Ö¥¸¥§¥¯¥È¤ò¤¿¤À°ì¤Ä¤À¤±¤·¤«À¸À®¤·¤Ê¤¤¤³¤È¤òÊݾڤ¹¤ë¤â¤Î¤Ç¤¹¡×¤È¤·¤«¸À¤ï¤ì¤Æ¤¤¤Ê¤¤¡¥

¤È¡¤¿§¡¹¤È»×¤¦¤³¤È¤¬¤¢¤ë¤Î¤À¤¬¡¤¤³¤ì¤ò¤¤¤¶Âç³Ø2ǯ¤Î³ØÀ¸¤Ë¶µ¤¨¤è¤¦¤È»×¤Ã¤Æ¤â¤Ê¤«¤Ê¤«Æñ¤·¤¤¤ó¤À¤è¤Ê¤¡¡¥¶µ²Ê½ñ¤Ë½ñ¤¤¤Æ¤¢¤ë¤³¤È¤òÈÝÄꤷ¤Æ¤¤¤ë¤è¤¦¤Ë¼õ¤±¤È¤ë³ØÀ¸¤â¤¤¤ë¤À¤í¤¦¤·¡¤¤³¤Ã¤Á¤Î¸ÀÍÕÉÔ­¤âÈÝÄê¤Ç¤­¤Ê¤¤¡¦¡¦¡¦¡¥

Category: [OOD]

2005-02-16 Wed

¢£ ºÇ¶á¥×¥í¥°¥é¥ß¥ó¥°¤è¤ê¡¤À߷פÎÊý¤¬³Ú¤·¤¯»×¤¨¤ë¡¥

¤Û¤È¤ó¤É¼«²è¼«»¿¤ÎÀ¤³¦¤Ê¤ó¤À¤¬¡¤

²¶¤Ã¤Æ¤¹¤²¤§¡¥¤Ê¤ó¤Ç¤³¤ó¤ÊÀ߷פò»×¤¤¤Ä¤¯¤ó¤À!?

Ū¤Ê¥Ç¥¶¥¤¥ó¤Î¥Í¿½¤Î¹ßÎפò´¶¤¸¤ë¤Î¤¬³Ú¤·¤¤¤ó¤À¤í¤¦¤È¼«¸Êɾ²Á¤·¤Æ¤ß¤ë¡¥

Category: [OOD]

2004-06-23 Wed

¢£ ¥â¥Ç¥ê¥ó¥°¤Î¿À¤µ¤Þ¤¬¹ß¤ê¤Æ¤¯¤ë½Ö´Ö

¡Ö¤³¤Î´Ø¿ô¤Î¤³¤ÎÊÕ¤¬¤Á¤ç¤Ã¤È¤¯¤µ¤¤¤Ê¡×¤ÈÀèÇÚ¥×¥í¥°¥é¥Þ¤¬¤¤¤Ã¤Æ¤¤
¤ë¤È¤­¡¢¤ª¤½¤é¤¯Èà¤ÏËÜÅö¤Ë¡Ö¤Ë¤ª¤¤¡×¤ò¤«¤®¼è¤Ã¤Æ¤¤¤ë¤Î¤À¡£¤½¤¦¤¤
¤¦¿Í¤Ë¤È¤Ã¤Æ¡¢UML¤Ê¤É¤È¤¤¤¦µ­Ë¡¤Ï¾®¤¦¤ë¤µ¤¤¤À¤±¤Î¤â¤Î¤Ë»×¤¨¤ë¤Î
¤«¤â¤·¤ì¤Ê¤¤¡£

¡Ö¤À¤«¤é»È¤ï¤Ê¤¤¡×¤È¸À¤¦¥ä¥Ä¤¬¤â¤·¡¤¤¤¤ë¤Î¤Ê¤é¤Ð¡¤¤½¤¤¤Ä¤Ï»È¤¨¤Ê¤¤¥ä¥Ä¤Ê¤ó¤À¤í¤¦¤Ê¡¥

Category: [OOD]

2004-04-28 Wed

¢£ ¥á¥¿¥¯¥é¥¹

+---------------+
| <<metaclass>> |
|     String    |
+---------------+
        ¢­¥¤¥ó¥¹¥¿¥ó¥¹²½
+---------------+
|     String    |
+---------------+
        ¢­¥¤¥ó¥¹¥¿¥ó¥¹²½
+---------------+
|   abc:String  | ¢« String ¥¯¥é¥¹¤Î¥¤¥ó¥¹¥¿¥ó¥¹
+---------------+



¥á¥¿¥¯¥é¥¹¤ò¥¤¥ó¥¹¥¿¥ó¥¹²½¤¹¤ë¤È¥¯¥é¥¹¤¬ÆÀ¤é¤ì¤ë¡£
¥¯¥é¥¹¤ò¥¤¥ó¥¹¥¿¥ó¥¹²½¤¹¤ë¤È¥ª¥Ö¥¸¥§¥¯¥È¤¬ÆÀ¤é¤ì¤ë¡£

¤ó¤Ç¤â¤Ã¤Æ¡¢¥á¥¿¥¯¥é¥¹¤Ï²¿¤«¤éºî¤é¤ì¤ë¤«¤È¤¤¤¦¤È¥á¥¿¥á¥¿¥¯¥é¥¹¤È¤¤¤¦¤â¤Î¤¬¤¢¤Ã¤¿¤ê¤¹¤ë¡£
¼Â¤Ï¥á¥¿¥¯¥é¥¹¤Î¥á¥¿¥¯¥é¥¹¤Ï¥á¥¿¥á¥¿¥¯¥é¥¹¤Ç¤¢¤ê¡¢
¥á¥¿¥á¥¿¥¯¥é¥¹¤Ï¥á¥¿¥¯¥é¥¹¤ò¥¤¥ó¥¹¥¿¥ó¥¹²½¤·¤¿¤â¤Î¤Ç¤¢¤Ã¤¿¤ê¤¹¤ë¡£
·Ü¤¬À褫Íñ¤¬À褫¤È¤¤¤¦ÌäÂê¤Ë¤Ê¤Ã¤¿¤ê¤¹¤ë¡£

¼ÂºÝ¤Î¼ÂÁõ¤Ç¤ÏÅÓÃæ¤Þ¤Ç¥á¥¿¥¯¥é¥¹¤ò¹½ÃÛ¤·¡¢¤½¤ì¤ò¸µ¤Ë¥á¥¿¥á¥¿¥¯¥é¥¹¤òÉôʬŪ¤Ë
¹½ÃÛ¤·¤Æ¡¢¤½¤·¤Æ¡¢¥á¥¿¥¯¥é¥¹¤òºî¤Ã¤¿¤ê¤·¤Æ¤¤¤ë¤ß¤¿¤¤¡£¤³¤ÎÊÕ¤ê¤Ï²ø¤·¤¤¡£

¤Á¤Ê¤ß¤ËÃê¾Ý¥¯¥é¥¹¤È¤ÏÁ´¤¯°Û¤Ê¤ë³µÇ°¡£

+--------------+
| <<abstract>> |
|     List     |
+--------------+
         ¢¤
         |
         |------------------+
         |                  |
+--------------+   +------------+
|  ArrayList   |   | LinkedList |
+--------------+   +------------+


¤³¤Î¿Þ¤Ç¤Î List ¤¬Ãê¾Ý¥¯¥é¥¹¤Ç¾å¤Î¥á¥¿¥¯¥é¥¹¤Î¿Þ¤Ë¤ª¤±¤ë String ¤ËÁêÅö¤¹¤ë¡£

Category: [OOD]

2004-01-23 Fri

¢£ ¥¯¥é¥¹À߷פ˴ؤ¹¤ë¥á¥â

via ¤ï¤ó¤³Æüµ­
¤À¤¤¤¿¤¤»ä¤ÎÀß·×Êý¿Ë¤ÈƱ¤¸¤«¤Ê¡¥
»ä¤Ï¶ËÏÀ¤È¤·¤Æ¡¤¡Ö·Ñ¾µ¤Ï»È¤¦¤Ê¡×¤È¸À¤¦¤±¤É¡¥
# ¤â¤Á¤í¤ó¡¤Servlet ¤ä Action ¤Ê¤É»È¤¦¤Ù¤­¤È¤³¤í¤Ç¤Ï»È¤ï¤Ê¤­¤ã¤¤¤«¤ó¤±¤É¡¥

Singleton ¤ÎÊÀ³²¤Ë¿§¡¹¤È½ñ¤¤¤Æ¤¢¤ë¤¬¡¤
ÉûºîÍѤΤ¢¤ëÁàºî¤ò Singleton ¤ËÂФ·¤Æ¹Ô¤¦¤³¤È¤¬¡¤
´ðËÜŪ¤Ë¤Ï¥À¥á¤À¤È»×¤¦¤ó¤À¤¬¤Ê¤¡¡¥

Singleton ¥Ñ¥¿¡¼¥ó¤ÏºÇ¶á»È¤Ã¤Æ¤Ê¤¤¤Ê¤¡¡¥
Calendar ¥¯¥é¥¹¤ß¤¿¤¤¤Ê»È¤¤Êý¤ÏÎɤ¯¤¹¤ë¤±¤É¡¥

Calendar#getInstance ¤Ï Calendar ¤Î¥µ¥Ö¥¯¥é¥¹¤Ç¤¢¤ë GregorianCalendar ¤ò
ºî¤Ã¤ÆÊÖ¤¹¤è¤¦¤Ê´¶¤¸¤Î½èÍý¡¥

Category: [OOD]

2003-08-09 Sat

¢£ ¡Ö¹½Â¤¡×¤ò¸«¤ë¿Í¤È¸«¤Ê¤¤¿Í

<http://amrita.s14.xrea.com/d/?date=20030804#p04>
via <http://cgi14.plala.or.jp/imaishi/changelog/2003-08-08.html#2003-08-08-1>
¸À¤Ã¤Æ¤¤¤ë¤³¤È¤¬Îɤ¯¤ï¤«¤é¤Ê¤¤¤ó¤À¤¬¡¢¤«¤Ê¤ê¤Îµ¿Ì䤬É⤫¤Ö¤Î¤Ç¡¢¤È¤ê¤¢¤¨¤ºÈ¿ÏÀ¤·¤Æ¤ß¤ë¡£
»ä¤Î´ª°ã¤¤¤â¤¢¤ë¤«¤â¤·¤ì¤Ê¤¤¡£

¤Þ¤º¡¢µ¿Ì䤫¤é¡£
¥×¥í¥°¥é¥à¸À¸ì¤ÈÏÀÍý¥Þ¡¼¥¯¥¢¥Ã¥×¤Î°ã¤¤¤ò¼«Å¾¼Ö¤È¼«Æ°¼Ö¤Î°ã¤¤¤ÇÎ㤨¤Æ¤¤¤ë¤Î¤¬ÌµÍý¤¬¤¢¤ë¤È»×¤¦¡£
¼«Å¾¼Ö¤È¼«Æ°¼Ö¤Ï¤É¤Á¤é¤â°Üư¤¹¤ëÌÜŪ¤Î¤¿¤á¤ÎÆ»¶ñ¤Ç¤¢¤ê¡¢Æ±¤¸ÌÜŪ¤Ç¤¢¤ë¤Î¤ËÂФ·¡¢
¥×¥í¥°¥é¥à¸À¸ì¤ÈÏÀÍý¥Þ¡¼¥¯¥¢¥Ã¥×¸À¸ì¤ÏÌÜŪ¤¬Á´¤¯°ã¤¦¡£
¼«Å¾¼Ö¤È¼«Æ°¼Ö¤ÎÎã¤ò½Ð¤¹¤Ê¤é¥³¥ó¥Ñ¥¤¥ë¸À¸ì¤È¥¹¥¯¥ê¥×¥È¸À¸ì¤Î°ã¤¤¤À¤í¤¦¤«¡£
¥×¥í¥°¥é¥à¸À¸ì¤ÈÏÀÍý¥Þ¡¼¥¯¥¢¥Ã¥×¸À¸ì¤ÎÎã¤È¤·¤Æ¤Ï¼«Å¾¼Ö¤È
¥µ¥¤¥¯¥ê¥ó¥°¥Þ¥·¥ó(¥¸¥à¤Ë¤¢¤ë¤è¤¦¤Êư¤«¤º¤Ë±¿Æ°¤¹¤ë¥ä¥Ä)¤À¤í¤¦¡£

¤½¤·¤Æ¡¢¡Ö¸«¤¨¤Ê¤¤¤â¤Î¤ÎËܼÁŪ¤Ê¹½Â¤¡×¤ò°Õ¼±¤¹¤ëɬÍפ¬¤¢¤ë¤Î¤Ï¡¢
¥ª¥Ö¥¸¥§¥¯¥È»Ø¸þ¥×¥í¥°¥é¥ß¥ó¥°¤äÏÀÍý¥Þ¡¼¥¯¥¢¥Ã¥×¸À¸ì¤Ç¤Ï¤Ê¤¯¡¢
¥ª¥Ö¥¸¥§¥¯¥È»Ø¸þÀ߷פǤ¢¤ê¡¢ÏÀÍýŪ¹Í»¡¤Ë¤è¤ëÍýÏÀ¤ÎŸ³«¤À¡£

¤³¤³¤Þ¤Ç¹Í¤¨¤Æ¡¢¤è¤¦¤ä¤¯¸À¤¤¤¿¤¤¤³¤È¤¬¸«¤¨¤Æ¤­¤¿¡£
¥×¥í¥°¥é¥ß¥ó¥°¤ÎËܼÁ(¥×¥í¥°¥é¥à¤ÎÀß·×: »²¾È¸µ¤Î¸À¤¦¥ª¥Ö¥¸¥§¥¯¥È»Ø¸þ¸À¸ì)¤ä
ʸ¾Ï¤Ç²¿¤¬¤¤¤¤¤¿¤¤¤«(»²¾È¸µ¤Î¸À¤¦ÏÀÍý¥Þ¡¼¥¯¥¢¥Ã¥×: HTML ¤Î b ¤Ë¤¹¤ë¤«¡¢strong ¤Ë¤¹¤ë¤«)¤ò¸«¤ë¤«¡¢
¥×¥í¥°¥é¥à¤Î½ñ¤­Êý¤äʸ¾Ï¤Î½ñ¤­Êý¤ò¸«¤ë¤«¤È¤¤¤¦¤³¤È¤À¤í¤¦¡£

¸µµ­»ö¤Ç¸À¤¤¤¿¤¤¤³¤È¤Ï¡¢ºòº£¡¢¥ª¥Ö¥¸¥§¥¯¥È»Ø¸þ¤¬¶«¤Ð¤ì¤Æ¤¤¤ë¤¬¡¢
¥ª¥Ö¥¸¥§¥¯¥È»Ø¸þ¤Ç¤Î¿¶Éñ¤¤¤Î¤ß¤ò½ÅÅÀŪ¤Ë¸«¤Æ¡¢²¿¤òÌÜŪ¤Ë¥×¥í¥°¥é¥à¤·¤Æ¤¤¤ë¤Î¤«¤¬
¤ï¤«¤é¤Ê¤¤¤È¤¤¤¦¿Í¤¿¤Á¤Ë¤â¥ª¥Ö¥¸¥§¥¯¥È»Ø¸þ¤È¤¤¤¦Ê¹¤³¤¨¤ÎÎɤµ¤À¤±¤Ç
ÉáµÚ¤µ¤»¤ë¤Î¤Ï¤É¤¦¤Ê¤Î¤«¡¢¤È¤¤¤¦¤³¤È¤À¤í¤¦¡£

¤Ç¡¢»ä¤ÎÈ¿ÏÀ¤È¤·¤Æ¤Ï¡¢
¤½¤ó¤Ê¤Ë¹Í¤¨¤Æ¤âÉáµÚ¤·¤Æ¤¤¤ë¤È¤¤¤¦¸½¼Â¤ò¸«¤ì¤Ð¤¢¤ëÄøÅ٤ϻÅÊý¤Ê¤¤Éôʬ¤â¤¢¤ë¤Ç¤·¤ç¤¦¡£
¸½¼Â¤È¤·¤Æ¡¢2 ¥«·îÄøÅÙ¡¢¿·Æþ¼Ò°÷¸¦½¤¤Ç Java ¤Î½ñ¤­Êý¤ò³Ø¤ó¤Ç¼ÂÁ©¤È¤¤¤¦¤³¤È¤â¤¢¤ë¡£
¤½¤·¤Æ¡¢¤½¤Î¿·Æþ¼Ò°÷¤È¤·¤ÆÆþ¤Ã¤Æ¤­¤¿¿Í´Ö¤Î¾å¤ËΩ¤Ä¼Ô¤â¡¢¥ª¥Ö¥¸¥§¥¯¥È»Ø¸þ¤ò³Ø¤ó¤À¤ï¤±¤Ç¤â¤Ê¤¯¡¢
º£¤Þ¤Ç¤Î¥ª¥Ö¥¸¥§¥¯¥È»Ø¸þ¤Ç¤Ê¤¤¹Í¤¨Êý¤Ç¤ä¤Ã¤Æ¤­¤¿¿Í¤¿¤Á¤¬²ñ¼Ò¤Ê¤É¤Î°Õ¸þ¤Ç
µÞ¤Ë¥ª¥Ö¥¸¥§¥¯¥È»Ø¸þ¤ò¤ä¤ë¥Ï¥á¤Ë¤Ê¤Ã¤¿¤È¤¤¤¦¤³¤È¤â¹Í¤¨¤é¤ì¤ë¤·¡¢
¼ÂºÝ¤Ë¤½¤Î¤è¤¦¤Ê¸½¾ì¤ËľÌ̤·¤¿¤³¤È¤â¤¢¤ë¡£
¤³¤ì¤Ë´Ø¤·¤Æ¤Ï¤½¤Î²ñ¼Ò¤ÎÊý¿Ë¤â¤¢¤ë¤Î¤Ç¡¢Âè 3 ¼Ô¤¬¤È¤ä¤«¤¯¸À¤¦¤³¤È¤Ç¤Ï¤Ê¤¤¡£
¤½¤Î¤³¤È¤òò¤¤¤Æ¤â»ÅÊý¤Ê¤¤¡£·Á¤«¤éÆþ¤ë¤Î¤Ï路¤â¤ä¤ë¤³¤È¤À¤È»×¤¦¤Î¤Ç¡¢¤½¤Î¤³¤È¤òÀÕ¤á¤Æ¤â»ÅÊý¤Ê¤¤¡£
¤½¤ì¤è¤ê¤â¡¢ËܼÁ¤òÍý²ò¤»¤º¤Ë¡¢¤½¤Î¸À¸ì¤ä¹Í¤¨Êý¤òÍý²ò¤·¤¿¤È»×¤ï¤»¤ë¤³¤È¤¬ÌäÂê¤Ê¤ï¤±¤Ç¡¢
¤½¤ì¤ò¤Ê¤¯¤µ¤»¤ë¤³¤È¤¬Âç»ö¤Ê¤ó¤¸¤ã¤Ê¤¤¤«¤Ê¡£
Î㤨¤Ð¡¢¹«¤ËÈÅÍô¤·¤Æ¤¤¤ëÆþÌç½ñ¤¬¤³¤Î¾ì¹ç¤ÎÌäÂê¤ÎÉôʬ¤À¤È»×¤¦(¤â¤Á¤í¤ó¡¢Ãæ¤Ë¤ÏÎɤ¤ÆþÌç½ñ¤â¤¢¤ë)¡£
¤½¤ì¤Ë¥ª¥Ö¥¸¥§¥¯¥È»Ø¸þ¤Î³µÇ°¤Ïº£¤Ë»Ï¤Þ¤Ã¤¿¤³¤È¤Ç¤Ï¤Ê¤¤¡£
Î㤨¤Ð¡¢C ¸À¸ì¤Î fopen ¤È¤«¡¢fclose ¤Ï¥ª¥Ö¥¸¥§¥¯¥È»Ø¸þŪ¤Ê¹Í¤¨¤Çºî¤é¤ì¤¿¤È»×¤¦¡£
¸À¸ì¤¬¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¤È¤¤¤¦À©¸Â¤â¤¢¤ë¤¬¡¢¤Á¤ã¤ó¤È¥ª¥Ö¥¸¥§¥¯¥È»Ø¸þ¤·¤Æ¤¤¤ë¤È»×¤¦¡£
<http://www.rubyist.net/~matz/?date=20030730#p01>
¤Ë¤â¤¢¤ëÄ̤ꡣ

»ä¤Î·ëÏÀ¤È¤·¤Æ¤Ï¡¢
¸µ¤Îµ­»ö¤ÏÎã¤Î½Ð¤·Êý¤Ï¤Þ¤º¤«¤Ã¤¿¤È»×¤¦¤¬¡¢¸À¤¤¤¿¤¤¤³¤È¤Ï¤ï¤«¤ë¤·¡¢¶¦´¶¤¹¤ë¡£
¤¿¤À¡¢¾åµ­¤Ç½ñ¤¤¤¿¤è¤¦¤ËÌäÂê¤È¤·¤Æ¤¤¤ë²Õ½ê¤¬»ä¤È¤Ï°Û¤Ê¤ë¡£
¤È¤¤¤¦»ä¤Î°Õ¸«¤Ç¤¹¡£

Category: [OOD]

2003-04-17 Thu

¢£ GoF À߷ץѥ¿¡¼¥ó̾°ìÍ÷

Abstract Factory
Adapter
Bridge
Builder
Chain of Responsibility
Command
Composite
Decorator
Facade
Factory Method
Flyweight
Interpreter
Iterator
Mediator
Memento
Observer
Prototype
Proxy
Singleton
State
Strategy
Template Method
Visitor
¤¦¡¼¤ó¡¢¼ÂºÝ¤Ë»È¤Ã¤Æ¤¤¤ë¤Î¤Ã¤Æ¡¢10 ¤â¤Ê¤¤¤Ê¡£
¤â¤Ã¤ÈÊÙ¶¯¤·¤Ê¤±¤ì¤Ð¡£

Category: [OOD]

2003-02-25 Tue

¢£ Delegate ¤Î¸Â³¦

¤¤¤ä¡¢Java ¤Ë¸Â¤Ã¤¿¤³¤È¤Ç¤Ï¤Ê¤¤¤Î¤À¤¬¡¢°ì±þµ­»ö¤¬ EJB ¤ò¸µ¤Ë½ñ¤«¤ì¤Æ¤¤¤ë¤Î¤Ç¡£

Category: [Java][OOD]
ºÇ¿·
¥«¥Æ¥´¥ê