Rapid Chaunt Travel
来源: BlogBus 原始链接: http://www.blogbus.com:80/blogbus/blog/index.php?blogid=11849&m=20041022 存档链接: https://web.archive.org/web/20041124230927id_/http://www.blogbus.com:80/blogbus/blog/index.php?blogid=11849&m=20041022
Rapid Chaunt Travel Travel, in the younger sort, is a part of education; in the elder, a part of experience. Ê×Ò³ Java (9) Developer (2) XP (3) ·ÖÒ³ 2004-10-22 23:41 XP 1£® ģʽ 2£® ÖØ¹¹ 3£® ²âÊÔ 4£® ÔöÁ¿½»¸¶ 5£® Ƶ·±¹¹½¨ toidi_asdd @ 23:41 | ÔĶÁÈ«ÎÄ | ÆÀÂÛ(0) | ÒıÓÃTrackback(0) | ±à¼ 2004-10-22 22:57 Layering Implements ½ñÌìÈ¥Ìı¿Î£¬ÀÏʦ½²µ½ persistence layer µÄʱºò£¬Ìáµ½ dao µÄ³öÏÖÖ÷ÒªÓ¦¸¶Êı¾İ¿âµÄÒÆÖ²£¬¿ÉÄÜËû³öÏÖµÄ×î³õµÄÔĞÍȷʵÈç´Ë£¬×ĞϸÏëһϣ¬ÕæÊµµÄ enterprise application µÄÊı¾İÔ´ÓжàÉÙÔÚÒÆÖ²ÄØ£¬¾ÍÎÒÃÇÒ»°ã¶øÑÔ£¬Ò»°ãÏà¶Ô¶¼ÊǺ̶ܹ¨£¬ÔÚÈí¼şµÄ×î³õÉè¼Æ½×¶Î¾ÍÒѾѡĞÍÁË¡££¨ÔÚ OO Öн²£¬Èç¹ûÒ»¸ö±ä»¯¿ÉÄÜÒªµÈÈıÎåÄ꣬ÄÇôÄã¾ÍµÃÈ¥¿¼ÂÇÏÖÔÚ¿¼ÂÇÕâ¸ö±ä»¯ÊDz»ÊÇÓĞÒâÒ壿£© ÏÖÔÚÔÚÉè¼ÆÄ£Ê½µÄ»ù´¡ÉÏ£¬Ìá³öÁËÆóÒµ¼Ü¹¹Ó¦ÓõÄÖî¶àģʽ£¬Õâô¶àģʽ¶¼ÊÇÔÚÒÀÀµÓÚÉè¼ÆÄ£Ê½À´ÊµÏֵġ£ÄÇôÆóÒµ¼Ü¹¹Ó¦ÓõÄÖî¶àģʽµÄ¼ÛÖµºÎÔÚ£¿¾Í persistence layer ¶øÑÔ£¬³éÏó³öÊı¾İ³Ö¾Ã»¯µÄÒ»°ãÎÊÌâ½â¾ö·½°¸£¬¿´ÏÂÃæµÄͼ£º ÔÚÓëÊı¾İÔ´ ( Ò»°ã¶¼ÊÇ´óĞÍÊı¾İ¿â ) ½»»¥µÄʱºò£¬¶ÔÓÚÍøÂçµÄÒÀÀµÊDZز»¿ÉÉٵġ£»ù±¾µÄÔÔò£º minimize distributed communication( ½ñÌìÀÏʦ¸Õ½²µÄ ) ¡£Ôڳ־ò㣬¼ÈÊÇ DAO »¹ĞèÒª×öÒ»¶¨µÄÊı¾İ»º³å£¬¼õÉÙÍøÂç·ÃÎÊ£¬¶ÔÓÚ±¾µØ persistence object µÄ¹ÜÀí²ÅÊDZȽÏÖØÒªµÄ¡£¶ÔÓÚÎÒÃǵŤ×÷ÖĞ£¬²»Ò»¶¨Òª×öÊı¾İ»º³å£¬µ«ÊÇÓ¦¸Ã¿¼ÂǶÔÓÚÍøÂç·ÃÎÊÊÇ·ñ×îĞ¡»¯ÁË¡£ ΪʲôҪ·Ö²ã ? 1. can understand a single layer as a coherent whole without knowing much about the other layers ¡£¾ÍÈçÏÖÔÚÎÒÃÇÔÚÉè¼Æ dao µÄʱºò£¬ºÜÉÙÈ¥¿¼ÂÇʲô business logic £¬µ¥´¿µÄÈ¥Ñо¿Êı¾İµÄ·ÃÎÊ¡£ 2. can substitute layers with alternative implementations of the same basic services. Õâ¸öÎÊÌâ¾Í¸ú½Ó¿ÚÓйØÁË£¬»¹ÒªÌÖÂ۵ġ£ºÜºÃµÄÂú×ãÁË DIP( ÒÀÀµµ¹ÖÃÔÔò ); 3. minimize dependencies between the layers. ¶ÔÏóÖ®¼äµÄÓ¦Óò»ÔÙÊÇÔÓÂÒÎåյ쬴ó¼Ò¶¼ÒÀÀµÓÚ³éÏó¡£ 4. Layers make good places for standardization. ÏÖÔÚ datasource layer(persistence layer),domain layer,presentation lay. ¾¹ı´ó¼ÒµÄȺ²ßȺÁ¦£¬Ã¿Ò»¸ö²ã´Î¶¼ÓĞÁËģʽ£¬¼Ó¿ìÁ˽â¾öÎÊÌâµÄËÙ¶È£¬Ê¹µÃ¿ª·¢ÈËÔ±¼¯ÖĞÓÚһЩ±ØÒªµÄÌôÕ½¡£×î½üÓĞÌá³öÁË service layer.( ½ñÌìÀÏʦ½²ÁË The Business Delegate Design Pattern, µ«ÊÇÀÏʦȴ½²µ½ÁË field ºÍ object µÄ¶Ô±È£¬Õâ¸ö·½Ê½ÎÒÃÇÔçÒѽ²¹ıÁË£¬Õâ´Î SUN µ¥¶ÀÌá³öÀ´£¬ËüµÄÒâÒåÔ¶²»ÔÙÕâÀÎÒÀí½âºÍ service layer ÓĞÒ»¶¨µÄ¹ØÏµ¡£ ) 5. Once you have a layer built you can use it for many higher level services. ÕâÒ²ÊÇ·ÖÀë³ö²ãµÄÔĞͰɡ£ ÎÒ¾õµÃ Pattern of Enterprise Application Architecture ½²·Ö²ãµÄµÚÒ»¾ä»°ÌرğºÃ£º Layering is one of the most common techniques that software designers use to break apart a complicated software system. ÒÀÈ»ÓĞÁ˷ֲ㣬¾Í²úÉúÁ˲㣬ÓĞÁ˲㣬¾ÍÓĞÁ˲ãÓë²ãÖ®¼äµÄ¹ØÏµ£¬ÄÇô¾ÍÃæ¶ÔÕâĞ© ²ã¹ØÏµµÄÉè¼ÆºÍʵÏÖÎÊÌâ¡£ ÔÚÆóÒµÓ¦Óüܹ¹ÓĞÈı²ã£¨Ò²ÓĞËIJãµÄ·Ö·¨£©£¬ÕâĞ©²ãÖ®¼ä±ØÈ»»áÓĞһЩÒÀÀµ£¬ÎÒÃǶ¼ÖªµÀÒÀÀµÓĞÒ»¸öÔÔò£ºÒÀÀµµ¹ÖÃÔÔò£¨ DIP £© 1. ¸ß²ãÄ£¿é²»Ó¦¸ÃÒÀÀµÓڵײãÄ£¿é¡£¶şÕß¶¼Ó¦¸ÃÒÀÀµÓÚ³éÏó¡£ 2. ³éÏó²»Ó¦¸ÃÒÀÀµÓÚϸ½Ú¡£Ï¸½ÚÓ¦¸ÃÒÔÀ´ÓÚ³éÏó¡£ ¶ÔÓ¦Óڷֲ㣬½Ï¡°¸ß¡±²ã°üº¬ÁËʲô£¬°üº¬Á˲ßÂÔÑ¡ÔñºÍÒµÎñÄ£ĞÍ£¬¶øÕâĞ©ÕæÊÇÓ¦ÓóÌĞòµÄ¼ÛÖµËùÔÚ£¬Èç¹û¡°¸ß¡±²ãÒÔÀ´ÓÚ¡°µÍ¡±²ã£¬ÄÇô¡°µÍ¡±²ãµÄ±ä»¯¾Í»áÓ°Ïìµ½¡°¸ß¡±²ã¡£ ¸ü²»¿ÉÄÜÈ¥Èᰵ͡±²ãÒÀÀµÓÚ¡°¸ß¡±²ã¡£ ÏÖÔÚÖ»ÓĞÒ»ÖÖ¿ÉÄÜ£¬¡°¸ß¡±²ãºÍ¡°µÍ¡±²ãÊǶÀÁ¢µÄ¡£Õâ²»Ò²ÕıÊÇÎÒÃÇʹÓà framework µÄ¼ÛÖµËùÔÚÂ𣿠ÕâÑù²ãÓë²ãÖ®¼äµÄÒÀÀµ¾Í±ØĞëÊdzéÏ󣬶ø²»ÊÇʵÏÖºÍϸ½Ú¡£ Service layer µÄ³öÏÖ£¬ÊÇΪÁËÃæ¶Ô¿Í»§²ã½ÓÈ뼯³ÉÁËһϵÁиßЧµÄ²Ù×÷¼¯¡£Ö÷ҪĿµÄÌá¸ßÊı¾İ´æÈ¡ºÍÒµÎñÂß¼µÄÀûÓÃÂÊ£¬¼õÉÙÖØ¸´µ÷ÓᣠServerice layer ÊÇÒ»¸ö±ßÔµ²ã£¨ boundary £©¡£ toidi_asdd @ 22:57 | ÔĶÁÈ«ÎÄ | ÆÀÂÛ(6) | ÒıÓÃTrackback(0) | ±à¼ ÈÕÀú 2004 Äê 10 Ô Sun Mon Tue Wen Thu Fri Sat 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 ×î½ü¸üĞ "String" In Java ³ÌĞò˼¿¼ go well, not fast XP Layering Implements performance ¡¶Ãô½İÈí¼ş¿ª·¢£ºÔÔò¡¢Ä£Ê½Óëʵ¼ù¡·ÖĞÎİæĞò Create a object through two options ĞŞ¸ÄEclipse Workspace·¾¶ How close my Statement ×îĞÂÆÀÂÛ founder_chen : entity beanµÄĞû´. toidi_asdd : Êǹ«Ë¾×éÖ¯µÄÒ»¸ö. founder_chen : ÄĵÄÀÏʦ°¡£¬SUNµ. founder_chen : ÄĵÄÀÏʦ°¡£¬SUNµ. founder_chen : ÄĵÄÀÏʦ°¡£¬SUNµ. founder_chen : ÄĵÄÀÏʦ°¡£¬SUNµ. toidi_asdd : ÿһÖÖģʽ¶¼ÓĞËü. dreamhead : ÎÒÔøĞ´¹ıһƪblog. ´æµµ ÎÒµÄÁ´½Ó Open Source Thoughts ÃÎÏë·ç±© Martin Fowler Manifesto for Agile Software Development Robert C. Martin's Weblog