ï»??xml version="1.0" encoding="utf-8" standalone="yes"?>av免费在线一区二区三区,精品成人免费一区二区在线播放,日韩一区二区精品在线观看http://www.aygfsteel.com/skyctr/category/24660.html.net全程独家赞助zh-cnTue, 07 Aug 2007 11:29:40 GMTTue, 07 Aug 2007 11:29:40 GMT60å†è°ˆ.三层C/S¾l“æž„åŠå…¶åº”用开å?/title><link>http://www.aygfsteel.com/skyctr/articles/csai.html</link><dc:creator>天然</dc:creator><author>天然</author><pubDate>Tue, 07 Aug 2007 03:05:00 GMT</pubDate><guid>http://www.aygfsteel.com/skyctr/articles/csai.html</guid><wfw:comment>http://www.aygfsteel.com/skyctr/comments/134895.html</wfw:comment><comments>http://www.aygfsteel.com/skyctr/articles/csai.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/skyctr/comments/commentRss/134895.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/skyctr/services/trackbacks/134895.html</trackback:ping><description><![CDATA[<h3><font color=#ff0000>  </font><strong>一ã€ä¸‰å±‚C/S的基本硬件结æž?/strong> </h3> <p class=main>  传统的二层C/S¾l“构存在以下几个局é™?1它是å•一æœåŠ¡å™¨ä¸”ä»¥å±€åŸŸç½‘ä¸ÞZ¸­å¿ƒçš„,所以难以扩展至大型ä¼ä¸šòq¿åŸŸ¾|‘或Internet;2å—é™äºŽä¾›åº”商;3软ã€ç¡¬ä»¶çš„¾l„åˆåŠé›†æˆèƒ½åŠ›æœ‰é™?4难以½Ž¡ç†å¤§é‡çš„客æˆähœºã€‚å› æ­?三层C/S¾l“构应è¿è€Œç”Ÿã€?</p> <p class=main>  三层C/S¾l“构是将应用功能分æˆè¡¨ç¤ºå±‚ã€åŠŸèƒ½å±‚å’Œæ•°æ®å±‚三部分。其解决æ–ÒŽ¡ˆæ˜?对这三层˜q›è¡Œæ˜Žç¡®åˆ†å‰²,òq¶åœ¨é€»è¾‘上ä‹É其独立。原æ¥çš„æ•°æ®å±‚作为DBMSå·²ç»ç‹¬ç«‹å‡ºæ¥,所以关键是è¦å°†è¡¨ç¤ºå±‚和功能层分¼›ÀLˆå„自独立的程åº?òq¶ä¸”˜q˜è¦ä½¿è¿™ä¸¤å±‚é—´çš„æŽ¥å£½Ž€‹z明了ã€?</p> <p class=main>  ž®†ä¸Š˜qîC¸‰å±‚功能装载到¼‹¬äšg的方法基本上有三¿U?如图1所½C?。其中表½Cºå±‚é…置在客æˆähœºä¸?而数æ®å±‚é…置在æœåС噍䏭ã€?/p> <div align=center> <p><img height=244 src="http://tech.csai.cn/sa/images/3f_cstobs.jpg" width=410> </p> <p><img height=323 src="http://tech.csai.cn/sa/images/3f_yykf.jpg" width=476> </p> </div> <p class=main align=center>  一般情冉|˜¯åªå°†è¡¨ç¤ºå±‚é…¾|®åœ¨å®¢æˆ·æœÞZ¸­,如图1(1)或图1(2)所½Cºã€‚如果åƒå›?(3)所½Cºçš„那样˜qžåŠŸèƒ½å±‚ä¹Ÿæ”¾åœ¨å®¢æˆähœºä¸?与二层C/S¾l“构相比,其程åºçš„å¯ç»´æŠ¤æ€§è¦å¥½å¾—å¤?但是 其他问题òq¶æœªå¾—到解决。客æˆähœºçš„è´Ÿè·å¤ªé‡?å…¶ä¸šåŠ¡å¤„ç†æ‰€éœ€çš„æ•°æ®è¦ä»ŽæœåŠ¡å™¨ä¼ ç»™å®¢æˆ·æœ?所以系¾lŸçš„æ€§èƒ½å®ÒŽ˜“å˜åã€?</p> <p class=main>  如果ž®†åŠŸèƒ½å±‚å’Œæ•°æ®å±‚分别攑֜¨ä¸åŒçš„æœåŠ¡å™¨ä¸?如图1(2)所½C?,则æœåŠ¡å™¨å’ŒæœåŠ¡å™¨ä¹‹é—´ä¹Ÿè¦˜q›è¡Œæ•°æ®ä¼ é€ã€‚但æ˜?ç”׃ºŽåœ¨è¿™¿UåÅžæ€ä¸­ä¸‰å±‚是分别放在å„自ä¸åŒçš„¼‹¬äšg¾pÈ»Ÿä¸?çš?所以絋zÀL€§å¾ˆé«?能够适应客户机数目的增加和处ç†è´ŸèïLš„å˜åŠ¨ã€‚ä¾‹å¦?åœ¨è¿½åŠ æ–°ä¸šåŠ¡å¤„ç†æ—?å¯ä»¥ç›¸åº”增加装è²åŠŸèƒ½å±‚çš„æœåŠ¡å™¨ã€‚å› æ­?¾pÈ»Ÿè§„模­‘Šå¤§˜q™ç§å½¢æ€çš„优点ž®Þp¶Šæ˜¾è‘—ã€?</p> <p class=main>  值得注æ„的是:三层C/S¾l“æž„å„层间的通信效率若ä¸é«?å³ä‹É分酾l™å„层的¼‹¬äšg能力很强,其作为整体æ¥è¯´ä¹Ÿè¾¾ä¸åˆ°æ‰€è¦æ±‚的性能。此å¤?设计时必™åÀL…Žé‡è€ƒè™‘三层间的通信æ–ÒŽ³•ã€é€šä¿¡é¢‘åº¦åŠæ•°æ®é‡ã€‚这和æé«˜å„层的独立性一æ äh˜¯ä¸‰å±‚C/S¾l“构的关键问题ã€?</p> <p class=main><font color=#ff0000>  </font><strong>二ã€ä¸‰å±‚C/S的功èƒ?/strong> </p> <p class=main>  1. 表示å±?</p> <p class=main>  表示层是应用的用æˆähŽ¥å£éƒ¨åˆ?它担负ç€ç”¨æˆ·ä¸Žåº”用间的对è¯åŠŸèƒ½ã€‚å®ƒç”¨äºŽ‹‚€æŸ¥ç”¨æˆ·ä»Žé”®ç›˜½{‰è¾“入的数æ®,昄¡¤ºåº”用输出的数æ®ã€‚äØ“ä½¿ç”¨æˆ¯‚ƒ½ç›´è§‚地进行æ“ä½?一般è¦ä½¿ç”¨å›‘ÖŞ用户接å£(GUI),æ“作½Ž€å•ã€æ˜“å­¦æ˜“ç”¨ã€‚åœ¨å˜æ›´ç”¨æˆ·æŽ¥å£æ—?åªéœ€æ”¹å†™æ˜„¡¤ºæŽ§åˆ¶å’Œæ•°æ®æ£€æŸ¥ç¨‹åº?而ä¸å½±å“其他两层。检查的内容也åªé™äºŽæ•°æ®çš„åÅžå¼å’Œå€¼çš„范围,ä¸åŒ…括有关业务本íw«çš„处ç†é€»è¾‘ã€?</p> <p class=main>  囑ÖŞ界é¢çš„结构是ä¸å›ºå®šçš„,˜q™ä¾¿äºŽä»¥åŽèƒ½ç‰|´»åœ°è¿›è¡Œå˜æ›´ã€‚例å¦?在一个窗å£ä¸­ä¸æ˜¯æ”‘Ö…¥å‡ ä¸ªåŠŸèƒ½,而是按功能分割窗å?以便使æ¯ä¸ªçª—å£çš„功能½Ž€‹z啾U¯ã€‚在˜q™å±‚的程åºå¼€å‘ä¸­ä¸»è¦æ˜¯ä‹É用å¯è§†åŒ–¾~–程工具ã€?</p> <p class=main>  2. 功能å±?</p> <p class=main>  功能层相当于应用的本ä½?它是ž®†å…·ä½“的业务处ç†é€»è¾‘地编入程åºä¸­ã€‚例å¦?在制作订购åˆåŒçš„æ—¶è¦è®¡ç®—åˆåŒé‡‘é¢,按照定好的格å¼é…¾|®æ•°æ®ã€æ‰“å°è®¢è´­åˆå?è€Œå¤„ç†æ‰€éœ€çš„æ•°æ®åˆ™è¦ä»Žè¡¨ç¤ºå±‚或数æ®å±‚å–得。表½Cºå±‚和功能层之间的数æ®äº¤å¾€è¦å°½å¯èƒ½½Ž€‹z。例å¦?用户‹‚€ç´¢æ•°æ®æ—¶,è¦è®¾æ³•将有关‹‚€ç´¢è¦æ±‚的信æ¯ä¸€‹Æ¡ä¼ é€ç»™åŠŸèƒ½å±?å‚è§å›?),而由功能层处ç†è¿‡çš„æ£€ç´¢ç»“果数æ®ä¹Ÿä¸€‹Æ¡ä¼ é€ç»™è¡¨ç¤ºå±‚。在应用设计ä¸?一定è¦é¿å…"˜q›è¡Œä¸€‹Æ¡ä¸šåС处ç?在表½Cºå±‚和功能层间进行多几次数æ®äº¤æ¢"的笨拙设计ã€?</p> <p class=main>  通常,åœ¨åŠŸèƒ½å±‚ä¸­åŒ…å«æœ‰:¼‹®è®¤ç”¨æˆ·å¯¹åº”用和数æ®åº“å­˜å–æƒé™çš„功能以åŠè®°å½•¾pÈ»Ÿå¤„ç†æ—¥å¿—的功能。这层的½E‹åºå¤šåŠæ˜¯ç”¨å¯è§†åŒ–ç¼–½E‹å·¥å…·å¼€å‘çš„,也有使用COBOLå’ŒC语言的ã€?/p> <p class=main>  3. æ•°æ®å±?</p> <p class=main>  数æ®å±‚就是DBMS,è´Ÿè´£½Ž¡ç†å¯ÒŽ•°æ®åº“æ•°æ®çš„读写。DBMSå¿…é¡»èƒ½è¿…é€Ÿæ‰§è¡Œå¤§é‡æ•°æ®çš„æ›´æ–°å’Œæ£€ç´¢ã€‚现在的ä¸ÀLµæ˜¯å…³¾pÀL•°æ®åº“½Ž¡ç†¾pÈ»Ÿ(RDBMS)。因æ­?一般从功能层传é€åˆ°æ•°æ®å±‚çš„è¦æ±‚大都使用SQL语言ã€?</p> <p class=main><font color=#ff0000>  </font><strong>三ã€ä¸‰å±‚C/S¾l“构的优ç‚?/strong> </p> <p class=main>  1. å…ähœ‰ç‰|´»çš„硬件系¾lŸæž„æˆ?</p> <p class=main>  对于å„个层å¯ä»¥é€‰æ‹©ä¸Žå…¶å¤„ç†è´Ÿè·å’Œå¤„ç†ç‰¹æ€§ç›¸é€‚应的硬件。这是一个与¾pÈ»Ÿå¯ç¾ƒæ”¾æ€§ç›´æŽ¥ç›¸å…³çš„问题。例å¦?最åˆç”¨ä¸€å°Unix工作站作为æœåС噍,ž®†æ•°æ®å±‚和功能层都酾|®åœ¨˜q™å°æœåŠ¡å™¨ä¸Šã€‚éšç€ä¸šåŠ¡çš„å‘å±?用户数和数æ®é‡é€æ¸å¢žåŠ ,˜q™æ—¶ž®±å¯ä»¥å°†Unix工作站作为功能层的专用æœåС噍,å¦å¤–˜q½åР䏀åîC¸“用于数æ®å±‚çš„æœåŠ¡å™¨ã€‚è‹¥ä¸šåŠ¡˜q›ä¸€æ­¥æ‰©å¤?用户数进一步增åŠ?则å¯ä»¥ç‘ô¾l­å¢žåŠ åŠŸèƒ½å±‚çš„æœåŠ¡å™¨æ•°ç›®,用以分割数æ®åº“。清晰ã€åˆç†åœ°åˆ†å‰²ä¸‰å±‚¾l“æž„òq¶ä‹É其独ç«?å¯ä»¥ä½¿ç³»¾lŸæž„æˆçš„å˜æ›´éžå¸¸½Ž€å•。因æ­?被分æˆä¸‰å±‚的应用基本上ä¸éœ€è¦ä¿®æ­£ã€?</p> <p class=main>  2. æé«˜½E‹åºçš„対l´æŠ¤æ€?</p> <p class=main>  三层C/S¾l“æž„ä¸?应用的å„层å¯ä»¥åƈ行开å?å„层也å¯ä»¥é€‰æ‹©å„自最适åˆçš„å¼€å‘语­a€ã€?</p> <p class=main>  3. åˆ©äºŽå˜æ›´å’Œç»´æŠ¤åº”用技术规èŒ?</p> <p class=main>ã€€ã€€å› äØ“æ˜¯æŒ‰å±‚åˆ†å‰²åŠŸèƒ?所以å„个程åºçš„处ç†é€»è¾‘å˜å¾—å分½Ž€å•ã€?</p> <p class=main>  4. ˜q›è¡Œä¸¥å¯†çš„安全管ç?</p> <p class=main>  ­‘Šå…³é”®çš„应用,ç”¨æˆ·çš„è¯†åˆ«å’Œå­˜å–æƒé™è®‘Ö®šæ„ˆé‡è¦ã€‚在三层C/S¾l“æž„ä¸?è¯†åˆ«ç”¨æˆ·çš„æœºæž„æ˜¯æŒ‰å±‚æ¥æž„½{‘çš„,对应用和数æ®çš„å­˜å–æƒé™ä¹Ÿå¯ä»¥æŒ‰å±‚˜q›è¡Œè®‘Ö®šã€‚例å¦?å³ä‹É外部的入侵者çªç ´äº†è¡¨ç¤ºå±‚的安全防线,若在功能层中备有å¦å¤–的安全机æž?¾pÈ»Ÿä¹Ÿå¯ä»¥é˜»æ­¢å…¥ä¾µè€…进入其他部分。  </p> <p class=main>  此外,¾pÈ»Ÿ½Ž¡ç†½Ž€å?坿”¯æŒå¼‚¿Uæ•°æ®åº“,有很高的å¯ç”¨æ€§ã€?</p> <p class=main><font color=#ff0000>  </font><strong>å››ã€ä¸‰å±‚C/S应用的开å?/strong> </p> <p class=main>  三层C/S应用的开å‘å¿…™å»éµä»Žä»¥ä¸‹åŽŸåˆ?ä¿æŠ¤å·²æœ‰æŠ•èµ„;é™ä½Žåº”用¾pÈ»Ÿçš„风é™? 满èƒö当å‰çš„迫切需è¦?考虑未æ¥çš„å‘展规划ã€?</p> <p class=main>  开å‘出的三层C/S应用¾pÈ»Ÿå¿…é¡»æ˜?功能丰富且具有高å¯ç”¨æ€?功能è¦èƒ½è·¨åº”用系¾l?¾pÈ»Ÿè¦èƒ½è·¨åã^å°è¿è¡Œã€?</p> <p class=main>  ¾ŸŽå›½BEA¾pÈ»Ÿæœ‰é™å…¬å¸äº§å“计划和战略副总è£Jeri Edwards奛_£«,按下˜qîC¸‰¿U三层C/S应用¾pÈ»Ÿçš„典型开å‘ç±»åž?分别举例介ç»äº†ä»–们的开å‘目标ã€å¼€å‘过½E‹ã€å¼€å‘æˆæžœåоl验体会。新建应用系¾lŸç±»åž?Greenfield),如英国劳工局的劳动力市场¾pÈ»Ÿ;æå‡å·²æœ‰¾pÈ»Ÿæ€§èƒ½¾cÕdž‹(Turbocharger),如Appleå…¬å¸çš„AppleOrder Global¾pÈ»Ÿ;¾l¼åˆé›†æˆå·²æœ‰¾pÈ»Ÿ¾cÕdž‹(Integrator),如AT&Tçš„Zenith应用¾pÈ»Ÿã€‚Jeri Edwards奛_£«æ Òޮ䏉层C/S应用¾pÈ»Ÿçš„å¼€å‘ç»éªŒå’Œæ•™è®­,æ€È»“å‡ÞZº†å®žçްC/S应用¾pÈ»Ÿçš?黄金10原则" : </p> <p class=main>  (1) ž®½é‡½Ž€åŒ–项ç›?佉K¡¹ç›®æ˜“于管ç†ã€‚应ž®½å¿«å»ø™“v一个åˆå§‹ç³»¾l?òq¶å°½æ—©æŠ•å…¥è¿è¡Œã€‚当™å¹ç›®è§„模较大æ—?å¯ä»¥ž®†å…¶åˆ†å‰²æˆç”±æ›´å°å¼€å‘组担负的孙å¹ç›®ã€?</p> <p class=main>  (2) è¦æŠŠ¾_‘ÖŠ›èŠ±åœ¨è®¾è®¡ä¸Šã€‚é¦–å…ˆè¦å½Õdº•弄清"需æ±? ,ç„¶åŽå»ºç«‹ä¸€ä¸ªåŽŸåž?以便‹¹‹è¯•设计中的"è–„å¼±"çŽ¯èŠ‚ã€‚åŽæ¥å¢žåŠ çš„ç‰ÒŽ€§æˆ–部äšgè¦ä¿è¯ä¸Ž¾pÈ»Ÿ¾l“构兼容ã€?</p> <p class=main>  (3) è¦å¥‰è¡?æ‹¿æ¥ä¸ÖM¹‰"。近æ?å¯ä¾›é€‰è´­çš„市售C/S产å“很多,è¦åšæŒ?能买ž®×ƒ¹°,为我所ç”?çš„åŽŸåˆ™ã€‚å¿…è¦æ—¶,ä¹°æ¥åŽå¯å¯¹ç³»¾lŸåŠ ä»¥ä¿®æ”?其中既包括基¼‹€éƒ¨äšg也包括应用ã€?</p> <p class=main>  (4) 严格éµå®ˆä¸šç•Œæ ‡å‡†ã€?</p> <p class=main>  (5) 采用TPç›‘æŽ§å™¨æˆ–å¯¹è±¡äº‹åŠ¡å¤„ç†½Ž¡ç†å™?(Object Transaction Manager ,OTM)ã€?</p> <p class=main>  (6) è¦åó@åºæ¸˜q›ã€‚åŠæ—¶å¾—到用æˆïLš„å馈;ä¿è¯™å¹ç›®å„部分的良好衔接;åŠæ—©è§£å†³æŽ¥å£é—®é¢˜,以ä¿è¯é¡¹ç›®è¿›å±•åè°?åšæŒ"边分æž?边设è®?边编ç ?è¾Ò޵‹è¯?的原则ã€?</p> <p class=main>  (7) 在应用开å‘过½E‹ä¸­,ä¸å¯å¿½è§†¾pÈ»Ÿ½Ž¡ç†ã€?</p> <p class=main>  (8) å夋¹‹è¯•,包括用户信ä“Q‹¹‹è¯•ã€åŸºå‡†æµ‹è¯•ã€ç³»¾lŸæµ‹è¯•ã€æ€§èƒ½‹¹‹è¯•ã€ç³»¾lŸé›†æˆæµ‹è¯•ã€åšå›ºæ€§æµ‹è¯•ã€æœåŠ¡äº¤ä»˜æµ‹è¯•ç­‰ã€?</p> <p class=main>  (9) 制定åˆç†çš„å·¥½E‹è¿›åº¦ã€?</p> <p class=main>  (10) 制定完善的系¾lŸæ‹“展计åˆ?包括用户的培训和技术支æŒã€é«˜æ•ˆçš„¼‹¬èÊY件装载ã€å·²æœ‰æ•°æ®å’Œ¾pÈ»Ÿçš„åã^滑迿U…R€?</p> <p class=main><font color=#ff0000>  </font><strong>五ã€ä¸‰å±‚C/S应用中的核心</strong> </p> <p class=main>  æ¯ä¸ªC/S环境,从最ž®çš„LAN环境到超¾U§ç½‘¾lœçޝå¢?都ä‹É用柿UåÅžå¼çš„中间件。实际上,无论客户æœÞZ½•æ—¶ç»™æœåС噍å‘é€è¯·æ±?ä¹Ÿæ— è®ºå®ƒä½•æ—¶åº”ç”¨å­˜å–æ•°æ®åº“æ–‡ä»?都有æŸç§å½¢å¼çš„中间äšg传递C/S链èµ\,用以消除通信åè®®ã€æ•°æ®åº“查询语言ã€åº”用逻辑与æ“作系¾lŸä¹‹é—´æ½œåœ¨çš„ä¸å…¼å®šw—®é¢˜ã€‚中间äšg是C/S环境中最é‡è¦çš„部件。所谓中间äšg是一个用API定义的èÊY件层,æ˜¯å…·æœ‰å¼ºå¤§é€šä¿¡èƒ½åŠ›å’Œè‰¯å¥½å¯æ‰©å±•性的分布å¼èÊYä»¶ç®¡ç†æ¡†æž¶ã€‚它的功能是在客æˆähœºå’ŒæœåŠ¡å™¨æˆ–è€…æœåŠ¡å™¨å’ŒæœåС噍之间传é€é«˜¾U§é€šä¿¡,ž®†å®¢æˆähœº¾Ÿ¤å’ŒæœåŠ¡å™¨ç¾¤æœ‰æœºåœ?¾_˜åˆ"èµäh¥ã€‚其工作‹¹ç¨‹æ˜?在客æˆähœºé‡Œçš„应用½E‹åºéœ€è¦é©»ç•™ç½‘¾lœä¸ŠæŸä¸ªæœåŠ¡å™¨çš„æ•°æ®æˆ–æœåŠ¡æ—¶,æœçƒ¦æ­¤æ•°æ®çš„C/S应用½E‹åºéœ€è®‰K—®ä¸­é—´ä»¶ç³»¾l?该系¾lŸå°†æŸ¥æ‰¾æ•°æ®æºæˆ–æœåŠ¡,òq¶åœ¨å‘é€åº”用程åºè¯·æ±‚åŽé‡æ–°æ‰“包å“应,ž®†å…¶ä¼ é€å›žåº”用½E‹åºã€?</p> <p class=main>  TP监控器在中间件技术中扮演瀭‘Šæ¥­‘Šé‡è¦çš„角色,特别是在三层C/S¾pÈ»Ÿä¸­ã€‚æ®Standish Group的调æŸ?TP监控器是˜q‘两òq´ä¿¡æ¯ä¸šç•Œæœ€çƒ­é—¨çš„æŠ€æœ¯ä¹‹ä¸€ã€?996òq´æœ‰57%的关键应用是构筑在TP监控器上的。TP监控器擅长æä¾›äº‹åŠ¡æ€§è¯­ä¹?å…许ž®ÞqŽ¯å¢ƒé€Ÿåº¦å’Œå¯é æ€§è¿›è¡Œç¼–½E‹ã€‚作ä¸ÞZ¸€¿U中间äšg,TP监控器æä¾›ä¸€¿U用于编写分布å¼åº”用½E‹åºçš„API,它通常包å«ä¸€¾l„强大的½Ž¡ç†å·¥å…·ã€‚TP监控器是一个高性能ã€é«˜òq¶è¡Œæ€§ã€å¤šç”¨æˆ·çš„快速å“应èÊYä»¶è¿è¡Œçޝå¢?它能有效地管ç†å¤§é‡çš„òq¶å‘ä»ÕdŠ¡,˜q›è€Œæé«˜ç³»¾lŸèµ„æºçš„利用率。如果采用TP监控å™?¾pÈ»Ÿæ€ÀLŠ•èµ„å¯èŠ‚çº¦30%以上,å¼€å‘周期対~©çŸ­40%ï½?0%。大多数投入应用的三层应用系¾lŸéƒ½é…备有一套事务处ç†ç›‘控系¾l?BEA TUXEDO是目å‰åº”用最òq¿æ³›çš„事务处ç†ç›‘控系¾lŸã€?</p> <p class=main>  BEA TUXEDO是用于分布计½Ž—的中间件基¼‹€¾l“æž„,它ä‹É开攑ּ应用¾pÈ»Ÿå…ähœ‰é«˜å¯¾~©æ”¾æ€§ã€é«˜ç‰|´»æ€§å’Œé«˜å¯¾l´æŠ¤æ€§ã€‚它ä¸ä»…å…ähœ‰åˆ†å¸ƒå¼äº¤æ˜“处ç†å’Œåº”用间报文通信的功èƒ?而且å…ähœ‰ä¸€¾pÕdˆ—æžå…¶å®Œå–„çš„æœåŠ?å¯å¸®åŠ©ä¼ä¸šå¾ç«‹å’Œ˜q行应用¾pÈ»Ÿ,使开å‘äh员能够å¾ç«‹è·¨­‘Šå¤šä¸ªåã^å°ã€æ•°æ®åº“å’Œæ“作系¾lŸçš„应用½E‹åºã€‚è¿™æ ?å¯ä»¥ç‰|´»é€‰é…æ“作òq›_°ä»¥å……分适应应用环境。它å…ähœ‰ä»¥ä¸‹ç‰¹ç‚¹:</p> <p class=main>  1ã€æ”¯æŒå¤š¿UèÊY¼‹¬äšgòq›_°ã€‚完全符åˆOpen Groupçš„X/Open标准,支æŒTCP/IPåè®®,支æŒåŒ…括Unixã€Windows NTã€AS/400和大型机专用¾pÈ»Ÿåœ¨å†…çš?0多个¼‹¬äšgòq›_°å’Œæ“作系¾lŸã€?</p> <p class=main>  2ã€ç»“构开放ã€çµ‹z…R€‚模å—结构以高çñ”½E‹åºæŽ¥å£ATMI(Application-to-Transaction Manager Interface)ä¸ÞZ¸­å¿?有丰富的ATMI函数å¯ä¾›è°ƒç”¨ã€?</p> <p class=main>  3ã€å¼€æ”„¡š„è”æœºäº‹åС处ç†ã€‚å¯æä¾›è¯¸å¦‚äº‹åŠ¡æ€§è¯­ä¹‰ã€é€æ˜Žçš„二ŒDµå¼æäº¤ã€äº‹åŠ¡è®°å½•åŠåˆ†å¸ƒäº‹åŠ¡å¤„ç†½Ž¡ç†¾l“æž„½{‰åŠŸèƒ½ã€?</p> <p class=main>  4ã€ä¸ŽDCE的结åˆã€‚通过一套工具和½E‹åºåº?实现了与Open Group¾l„织的分布计½Ž—环境DCE的有机结åˆã€?</p> <p class=main>  5ã€åŠŸèƒ½ä¸°å¯?包括:应用½Ž¡ç†;事äšg代ç†;通过鉴别æœåŠ¡ã€æŽˆæƒæœåŠ¡å’Œæ•°æ®åР坆æœåŠ¡,为客æˆäh供安全ä¿è¯?对COBOL语言的支æŒ?应用动æ€è°ƒèŠ‚ã€è´Ÿè½½åã^è¡¡ç­‰ä¿è¯é«˜å¯é æ€§çš„功能½{‰ã€?</p> <p class=main><font color=#ff0000>  </font><strong>å…­ã€ä¸‰å±‚C/S¾l“构的应用现çŠ?/strong> </p> <p class=main>  目å‰,用三层C/S¾l“构开å‘的应用˜q˜ä¸å¤ªå¤š,但其数é‡çš„ç¡®åœ¨é€æ—¥å¢žåŠ ã€‚å›¾3昄¡¤ºäº†åŒ—¾ŸŽè¿è¡Œçš„应用开å‘åÅžæ€ã€‚三层C/S型应用的比例1995òq´å 5%,1997òq´å¢žåŠ åˆ°7.8%,预计åˆ?999òq´å°†å?2.9%。二层C/S型应用和在原有系¾lŸä¸Šé™„加GUI型的应用,是被定ä½ä¸ºå‘三层C/Såž‹è{化的˜q‡åº¦å½¢æ€ã€‚就当剿¥è¯´,˜q™ç§å½¢æ€çš„æ¯”ä¾‹è¦æ¯”三层C/Sé«?ä¸”è¦æŒç®‹ä¸€ŒD‰|—¶é—´ã€‚é‚£ä¹?什么情况下应采用三层C/Så‘?æ®Gartner Group的调查表æ˜?å…ähœ‰ä¸‹è¿°ç‰¹ç‚¹çš„应 用应考虑采用三层C/Sã€?</p> <p class=main>  1ã€åº”用的æœåŠ¡æˆ–ç§¾c»è¶…˜q?0ä¸? </p> <p class=main>  2ã€åº”用是用ä¸åŒè¯­­a€¾~–写çš? </p> <p class=main>  3ã€ä¸¤ä¸ªä»¥ä¸Šçš„å¼‚æž„æ•°æ®æº?å¦?个ä¸åŒçš„DBMSæˆ?个DBMSå’?个文件系¾l? </p> <p class=main>  4ã€åº”用的生命周期­‘…过3òq? </p> <p class=main>  5ã€é«˜å·¥ä½œè´Ÿè·,例如æ¯å¤©­‘…过5ä¸‡ä¸ªäº‹åŠ¡å¤„ç†æˆ–在åŒä¸€¾pÈ»Ÿè®‰K—®åŒä¸€æ•°æ®åº“çš„òq¶å‘用户数超˜q?00ä¸? </p> <p class=main>  6ã€æœ‰è‡›_…³é‡è¦çš„应用内部通信,包括åƒç”µå­æ•°æ®äº¤æ?EDI)˜q™ç±»ä¼ä¸šçš„内部通信ã€?</p> <p class=main>  从传¾lŸçš„ä¸ÀLœº/¾lˆç«¯åž‹åº”用到三层C/SåŒ?è¦è€ƒè™‘æ—‰™—´å’Œè´¹ç”¨é—®é¢?有的场刘q˜ä¸é€‚åˆ,需è¦åó@åºæ¸˜q›ã€?/p> <img src ="http://www.aygfsteel.com/skyctr/aggbug/134895.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/skyctr/" target="_blank">天然</a> 2007-08-07 11:05 <a href="http://www.aygfsteel.com/skyctr/articles/csai.html#Feedback" target="_blank" style="text-decoration:none;">å‘表评论</a></div>]]></description></item><item><title>谈谈三层¾l“构开å‘çš„ç†è§£http://www.aygfsteel.com/skyctr/articles/baidu_zexyang.html天然天然Tue, 07 Aug 2007 02:59:00 GMThttp://www.aygfsteel.com/skyctr/articles/baidu_zexyang.htmlhttp://www.aygfsteel.com/skyctr/comments/134893.htmlhttp://www.aygfsteel.com/skyctr/articles/baidu_zexyang.html#Feedback0http://www.aygfsteel.com/skyctr/comments/commentRss/134893.htmlhttp://www.aygfsteel.com/skyctr/services/trackbacks/134893.html

谈谈三层¾l“构开å‘çš„ç†è§£

一ã€?nbsp;    å‰è¨€
最˜q‘几个网å‹åœ¨è®¨è®º½E‹åºè®¾è®¡ä¸­çš„分层设计åQŒåå“éžå¸¸æ¿€çƒˆã€‚大家对此éžå¸¸æ„Ÿå…´è¶£åQŒä¸”ä»è€…è§ä»ï¼Œæ™ø™€…è§æ™ºã€‚ä¸½Ž¡æ€Žä¹ˆæ øP¼Œä»–们的看法代表了他们对程åºçš„ç†è§£åQŒæ˜¯ä»–们实践¾l验的æ€È»“åQŒæ˜¯å®è´µçš„。今天,˜q™é‡Œæˆ‘们且ä¸è¯„论他们的è§è§£æ­£¼‹®ä¸Žå?˜q™é‡Œæˆ‘åªè°ˆè°ˆæˆ‘对分层的看æ³?希望能è“v到抛砖引玉的作用ã€?br>二ã€?nbsp;    三层架构开å‘简ä»?/strong>
a)         什么是三层
首先åQŒè°ˆä¸€ä¸‹ä»€ä¹ˆæ˜¯ä¸‰å±‚æž¶æž„åQŒæ‰€è°“的三层开å‘å°±æ˜¯å°†æ•´ä¸ªä¸šåŠ¡åº”ç”¨åˆ’åˆ†ä¸ø™¡¨½Cºå±‚åQ业务逻辑层―数æ®è®¿é—®å±‚åQæ•°æ®åº“½{‰ï¼Œæœ‰çš„˜q˜è¦¾l†ä¸€äº›ï¼Œæ˜Žç¡®åœ°å°†å®¢æˆ·ç«¯çš„表示层ã€ä¸šåŠ¡é€»è¾‘è®‰K—®ã€å’Œæ•°æ®è®‰K—®åŠæ•°æ®åº“讉K—®åˆ’分出æ¥åQŒå分有利于¾pÈ»Ÿçš„å¼€å‘,¾l´æŠ¤ã€éƒ¨¾|²å’Œæ‰©å±•ã€?br>软äšgè¦åˆ†å±‚,其实æ€È»“一å¥è¯åQŒæ˜¯ä¸ÞZº†å®žçް“高内èšã€ä½Žè€¦åˆ”。采ç”?#8220;分而治ä¹?#8221;çš„æ€æƒ³åQŒæŠŠé—®é¢˜åˆ’分开æ¥å„个解冻I¼Œæ˜“于控制åQŒæ˜“于åšg展,易于分é…资æºã€?br>

                                    å›?.三层¾l“æž„½Cºæ„å›?br>表示层:负责直接跟用戯‚¿›è¡Œäº¤äº’,一般也ž®±æ˜¯æŒ‡æˆ‘们的å‰å°åQŒç”¨äºŽæ•°æ®å½•å…¥ï¼Œæ•°æ®æ˜„¡¤º½{‰ã€‚它ä¸åº”该åšå¤ªå¤šçš„工作。表½Cºå˜›åQŒä¹Ÿž®±æ„味ç€åªåšä¸Žå¤–观显½Cºç›¸å…³çš„工作。ä¸å±žäºŽä»–的工作他ä¸ç”¨ç®¡ä¹Ÿä¸è¯¥ç®¡ã€?br>业务逻辑层:用于åšä¸€äº›æœ‰æ•ˆæ€§éªŒè¯çš„工作。以更好的ä¿è¯ç¨‹åºè¿è¡Œçš„å¥å£®æ€§ã€‚如数æ®çš„æœ‰æ•ˆæ€§åˆ¤æ–­ã€‚ä¸å…许为的地方是å¦è¾“入了空字符ä¸ÔŒ¼Œè¯¥è¾“å…¥Emailçš„ï¼Œæ ¼å¼æ˜¯å¦æ­£ç¡®½{‰ï¼Œæ•°æ®¾cÕdž‹çš„åˆæ³•性判断,该是整型的地方当然ä¸èƒ½æŽ¥å—å­—½W¦ä¸²äº†ï¼Œæ•°æ®åº“æ“作是å¦åˆæ³•,如字ŒDµé•¿åº¦çš„æœ‰æ•ˆæ€§åˆ¤æ–­ã€‚sql防注入的问题åQŒç”¨æˆïLš„æƒé™çš„åˆæ³•性判断等åQŒé€šè¿‡ä»¥ä¸Šçš„诸多判断以军_®šæ˜¯å¦ž®†æ“作ç‘ô¾l­å‘åŽä¼ é€’。尽é‡ä¿è¯ç¨‹åºçš„æ­£å¸¸˜q行
æ•°æ®è®‰K—®å±‚:™å‘Öæ€ä¹‰åQŒå°±æ˜¯ç”¨äºŽä¸“门跟数æ®åº“进行交互。对数æ®çš„æ·»åŠ ï¼Œåˆ é™¤åQŒä¿®æ”¹ï¼Œæ˜„¡¤º½{‰ã€‚需è¦å¼ºè°ƒçš„æ˜¯æ‰€æœ‰çš„æ•°æ®å¯¹è±¡åªåœ¨˜q™ä¸€å±‚被引用åQŒå¦‚System.Data。SqlClient½{‰ï¼Œé™¤æ•°æ®å±‚之外的ä“Q何地斚wƒ½ä¸åº”该出现这æ ïLš„应用ã€?br>ASP.NETå¯ä»¥ä½¿ç”¨.NETòq›_°å¿«é€Ÿæ–¹ä¾¿çš„部çÖv三层架构。ASP.NETé©å‘½æ€§çš„å˜åŒ–是在¾|‘页中也使用åŸÞZºŽäº‹äšg的处ç†ï¼Œå¯ä»¥æŒ‡å®šå¤„ç†çš„åŽåîC»£ç æ–‡ä»Óž¼Œå¯ä»¥ä½¿ç”¨C#,VB,J#ä½œäØ“åŽå°ä»£ç çš„语­a€ã€?NET中å¯ä»¥æ–¹ä¾¿çš„实现¾l„äšg的装é…,åŽå°ä»£ç é€šè¿‡å‘½å控äšgå¯ä»¥æ–¹ä¾¿çš„ä‹É用自己定义的¾l„äšg。显½Cºå±‚攑֜¨ASPX™åµé¢ä¸­ï¼Œæ•°æ®åº“æ“作和逻辑层用¾l„äšgæ¥å®žçŽŽÍ¼Œ˜q™æ ·ž®±å¾ˆæ–¹ä¾¿çš„实çŽîCº†ä¸‰å±‚æž¶æž„ã€?br>ã€?br>b)         ä¸ÞZ»€ä¹ˆä‹É用三å±?/strong>
那么我们ä¸ÞZ»€ä¹ˆè¦ä½¿ç”¨åˆ†å±‚å¼€å‘å‘¢åQŒå®ƒæœ‰ä»€ä¹ˆç‹¬ç‰¹çš„优势呢?

     .NETå¼€å‘åã^åîCؓ我们åšå¼€å‘æä¾›äº†å¼ºå¤§çš„æŠ€æœ¯æ”¯æŒï¼Œä½¿æˆ‘们的开å‘å˜å¾—éžå¸æ€¾¿æøP¼Œé«˜æ•ˆã€‚通过code behind的强大支æŒï¼Œæˆ‘们å¯ä»¥ž®†é¡µé¢è®¾è®¡å’Œä»£ç è®¾è®¡æœ‰æ•ˆçš„分¼›»ï¼Œä»£ç ¾~–写åQŒé¡µé¢è®¾è®¡åŒæ—¶è¿›è¡Œã€‚这比å¤è€çš„aspé‚£ç§æ’å…¥å¼ç¼–写覘q…速多了,Htmlå½’aspxåQŒä»£ç å½’aspx.csåQŒçœ‹èµäh¥å€’也蛮清晰的åQŒä¹Ÿæ²¡å‘现有什么ä¸å¦¥çš„地方
的确åQŒå…‰ä»ŽåŠŸèƒ½å®žçŽ°çš„åŸºç¡€æ¥è¯´æˆ‘们已ç»åšå¾—很好了,ž®¤å…¶å¯¹äºŽä¸€ä¸ªç®€å•的应用æ¥è¯´åQŒä»£ç é‡ä¸æ˜¯å¾ˆå¤šçš„æƒ…况下åQŒè¿™¿U一层结构开å‘完全够用了åQŒæ²¡æœ‰å¿…è¦æžå¾—é‚£ä¹ˆå¤æ‚ã€‚ä½†æ˜¯å¯¹ä¸€ä¸ªå¤æ‚的大型¾pÈ»Ÿæ¥è¯´˜q™æ ·çš„设计的¾~ºé™·ž®±å¾ˆä¸¥é‡äº?下é¢ä¼šå…·ä½“介¾l,分层开å‘å…¶å®žä¹Ÿæ˜¯äØ“å¤§åž‹¾pÈ»ŸæœåŠ¡çš?,。在开å‘过½E‹ä¸­æˆ‘们会ä¸åœæŠŠä»£ç åˆ°å¤„å¤åˆ¶åQŒä»¥å®žçŽ°ä¸€äº›ç›¸ä¼¼çš„åŠŸèƒ½ã€‚åŒæ ïLš„代ç ä¸ÞZ»€ä¹ˆè¦å†™é‚£ä¹ˆå¤š‹Æ¡ï¼Ÿä¸ä½†ä½¿ç¨‹åºå˜å¾—冗长,更ä¸åˆ©äºŽ¾l´æŠ¤åQŒä¸€ä¸ªå°ž®çš„修改或许会æ‡LåŠå¾ˆå¤šé¡µé¢ã€‚ç¨å¾®ä¸ç•™ç¥žž®×ƒ¼šå¯ÆD‡´å¼‚常的äñ”生。ä‹É½E‹åºä¸èƒ½æ­£å¸¸˜q行。最主è¦çš„é¢å‘å¯¹è±¡çš„æ€æƒ³æ²¡æœ‰å¾—åˆ°ä¸æ¯«çš„体玎ͼŒæ‰“ç€é¢å‘对象的幌å­å´ä¾ç„¶èµ°ç€é¢å‘˜q‡ç¨‹çš„è€èµ\ã€?br>
     æ„识到这æ ïLš„问题åQŒæˆ‘开始将½E‹åºä¸­ä¸€äº›å…¬ç”¨çš„处熽E‹åºå†™æˆå…¬å…±æ–ÒŽ³•ž®è£…在类中,供其它程åºè°ƒç”¨ã€‚象一些功能型的代ç é›†åˆï¼Œæ•°æ®åº“æ“作,如åŒSqlHelper那样å¯ÒŽ•°æ®æ“作进行åˆç†å°è£…,把sql语å¥åQŒå‚æ•°åˆ—è¡¨ä½œä¸ºå‚æ•ŽÍ¼Œåœ¨æ•°æ®åº“æ“作˜q‡ç¨‹ä¸­ï¼Œåªè¦ä¼ å…¥ç›¸åº”çš„å‚æ•°å°±å¯ä»¥å®Œæˆç‰¹å®šçš„æ•°æ®æ“作,˜q™å°±æ˜¯æˆ‘一开始的数æ®è®‰K—®å±‚,å†ä¸ç”¨æ¯‹Æ¡æ“作数æ®åº“æ—‰™ƒ½å†™é‚£äº›é‡å¤æ€§çš„æ•°æ®åº“æ“作代ç ã€‚在新的应用开å‘中åQŒæ•°æ®è®¿é—®å±‚å¯ä»¥ç›´æŽ¥æ‹¿æ¥ç”¨ã€‚é¢å‘对象的三大ç‰ÒŽ€§ä¹‹ä¸€çš„å°è£…性在˜q™é‡Œå¾—到了很好的体现。似乎找åˆîCº†é¢å‘对象的感觉,代ç é‡è¾ƒä»¥å‰æœ‰äº†å¾ˆå¤§çš„凞®‘,而且修改的时候也比较方便。这下应该å¯ä»¥äº†å§ï¼Ÿ

      试问一下,如果有一天数æ®åº“供应商å‘生了å˜åŒ–åQŒå› ä¸ºæ•°æ®é‡çš„增加,数æ®åº“有accesså˜æˆäº†sql serveråQŸè¿™ä¸‹éº»çƒ¦å¤§äº†ï¼ŒåŽŸæ¥çš„æ•°æ®è®¿é—®å±‚å¤±æ•ˆäº†ï¼Œæ•°æ®æ“作对象å‘生了å˜åŒ–,且页é¢ä¸­æ¶‰åŠæ•°æ®å¯¹è±¡çš„地方也è¦è¿›è¡Œä¿®æ”¹ï¼Œå› äؓ原æ¥å¯èƒ½ä¼šä‹É用OleDbDataReader对象ž®†æ•°æ®ä¼ é€’给昄¡¤º™åµé¢åQŒçŽ°åœ¨éƒ½å¾—æ¢æˆSqlDataReader对象åQŒsqlå’Œaccess支æŒçš„æ•°æ®ç±»åž‹ä¹Ÿä¸ä¸€è‡ß_¼Œåœ¨æ˜¾½Cºæ•°æ®æ—¶˜q›è¡Œçš„æ•°æ®è{æ¢å¯èƒ½ä¹Ÿè¦è¿›è¡Œä¿®æ”V€‚ç”±sqlå‘accessçš„è{æ¢æ‰€åšçš„修改会更多。还有一¿Uæƒ…å†µï¼Œå› äØ“æŸç§éœ€è¦ï¼Œæˆ‘ä»¬è¦æŠŠWebå½¢å¼çš„项目改造æˆwindows应用åQŒè¿™æ—¶ç‰µæ¶‰çš„修改有多大呢åQŸå¦‚果在你的aspx.cs中放了很多处ç†ä»£ç ï¼Œæˆ–者还有一部分代ç å­˜åœ¨äºŽaspx中呢windowsåº”ç”¨ä¸­å¯æ²¡æœ‰aspxé˜¿ï¼Œæ˜¯ä¸æ˜¯æ•´ä¸ªç³»¾lŸéœ€è¦é‡æ–°æ¥åšäº†åQŸè¿™éƒ½æ˜¯è®¾è®¡ä¸åˆç†æƒ¹çš„祸。å†è€…,ž®±æ˜¯åˆ†å¸ƒå¼çš„æƒ…况åQŒçŽ°åœ¨çš„è®¾è®¡ä¹Ÿæ— æ³•åšåˆ°ã€‚也ž®±æ„味ç€åQŒä»¥ä¸Šçš„设计充其é‡åªèƒ½ç®—ž®æ‰“ž®é—¹ã€?br>ä¸çŸ¥é“我的解释是å¦è®©ä½ ä½“会了åˆîCº†ä¸€äº›ä¸€å±‚开呿¨¡å¼ä¸‹çš„缺陷了呢?你是å¦ç¢°åˆ°è¿‡˜q™æ ·çš„æƒ…况呢åQŸå¹¸˜qçš„æ˜¯ï¼Œå¤šå±‚å¼€å‘æž¶æž„的出现很有效的解决了这æ ïLš„问题。通过ž®†ç¨‹åºæž¶æž„进行åˆç†çš„分层åQŒå°†æžå¤§çš„æé«˜ç¨‹åºçš„通用性ã€?br>
     三层中,å„个层之间的分工是很明确的,é¢å‘对象å—,ž®±åƒä¸€ä¸ªå…¬å怸­çš„éƒ¨é—¨ä¸€æ øP¼Œæ¯ä¸ªéƒ¨é—¨çš„分工是ä¸ä¸€æ ïLš„åQŒæ˜¯å“ªä¸ªéƒ¨é—¨çš„ä“Q务就有哪个部门完æˆï¼Œå¯¹åº”的,å„个部门的维护工作也有å„自完æˆä¸”ä¸ä¼šå½±å“其它的部门,臛_°‘å½±å“䏿˜¯å¾ˆå¤§åQŒå¦åˆ™å°±åªèƒ½è¯´æ˜Žåˆ†å±‚˜q˜ä¸åˆç†ã€‚å„个层之间通过有效的å作æ¥å®Œæˆ¾pÈ»Ÿçš„高效è¿è¡Œã€‚表½Cºå±‚ž®±æ˜¯ç”¨æ¥åšæŽ¥å?昄¡¤ºæ•°æ®çš„工作,它è¦é€šè¿‡ä¸Žå…¶å®ƒå±‚çš„å作æ¥å®Œæˆç”¨æˆ·çš„请求,在这一层ä¸è¯¥æ”¾å¤ªå¤šçš„代ç ã€‚逻辑层就是用æ¥åšæ•°æ®æœ‰æ•ˆæ€§åˆ¤æ–­çš„åQŒå‰é¢å·²¾l说˜q‡äº†åQŒæ•°æ®å±‚ž®±æ˜¯ç”¨æ¥å®Œæˆåº•层数æ®äº¤äº’的。表½Cºå±‚ž®×ƒ¸è¯¥åŽ»å®žçŽ°é€»è¾‘å±‚çš„åŠŸèƒ½åQŒå½“然我们会在客æˆïL«¯å¯¹ç”¨æˆïLš„输入åšä¸€äº›åˆ¤æ–­ï¼Œä½†æœåŠ¡å™¨ç«¯ï¼ŒéªŒè¯˜q˜è¦åšã€‚用户完全å¯ä»¥ç»•˜q‡å®¢æˆïL«¯éªŒè¯ä¸æ˜¯å—?现在我们在看上é¢è¯´çš„问题åQŒæ•°æ®åº“å‘生了改å˜ï¼Œæˆ‘们åªéœ€è¦ä¿®æ”ÒŽ•°æ®è®¿é—®å±‚åQŒå…¶å®ƒçš„地方我们都ä¸ç”¨åŽ»½Ž¡ï¼Œ˜q™é‡Œæˆ‘們֑于借助自定义数æ®å®žä½“æ¥è´Ÿè´£å±‚与层之间的数æ®äº¤äº’åQŒæˆ‘们把数æ®å¡«å……到自定义实体中,使用自定义实体的好处请å‚考我上é¢çš„两½‹‡å…³äºŽè‡ªå®šä¹‰å®žä½“的介¾l的文章。通过数æ®è®‰K—®å±‚æ¥å®Œå…¨ž®è£…æ•°æ®ä¾›åº”商,使数æ®è®¿é—®å±‚å¯¹å…¶å®ƒå±‚å®Œå…¨é€æ˜ŽåQŒè¿™æ ·å°†æ•°æ®åº“改å˜å¸¦æ¥çš„修改完全é™å®šåœ¨æ•°æ®è®¿é—®å±‚内。我们å¯ä»¥å€ŸåŠ©ä¸€äº›æ¨¡å¼æ¥è®¾è®¡ä¸€ä¸ªé€šç”¨çš„æ•°æ®è®¿é—®å±‚åQŒè¿™æ ·å³ä½¿æ•°æ®åº“å‘生改å˜åQŒæˆ‘们åªè¦ä¿®æ”¹ä¸€ä¸‹é…¾|®å°±å¯ä»¥è½ÀL¾æžå®šã€‚对于开å‘åã^å°çš„æ”¹å˜ä¹Ÿå˜å¾—很å®ÒŽ˜“åQŒä¸½Ž¡æ˜¯windows˜q˜æ˜¯webåQŒå˜åŒ–çš„åªæ˜¯ç•Œé¢è€Œå·²åQŒä¹Ÿž®±æ˜¯æ‰€è°“的表示层,它的内核没有å˜ï¼Œç›¸å½“于我们é‡ä½œä¸€ä¸ªå£³ã€‚表½Cºå±‚çš„ä»£ç æ˜¯å¾ˆå°‘的,所以修æ”ÒŽ˜¯å¾ˆæœ‰é™çš„åQŒå…¶å®ƒä¸¤å±‚也ä¸è¦ä¿®æ”¹ž®±å¯ä»¥è¿…速åšåˆ°web½E‹åºå‘windows½E‹åºçš„过渡ã€?br>你体会到三层的优势了å—?当然多层设计˜q˜æœ‰å¾ˆå¤šä¼˜ç§€çš„åœ°æ–¹ï¼Œæˆ‘åªæ˜¯ä»‹¾l了其中的一ž®éƒ¨åˆ†ã€‚下é¢å¼•入我所ç†è§£çš„三层的概念ã€?br>c)         我的三层¾l“æž„ã€?/span>
那么怎么æ‰èƒ½å†™å‡ºä¸€ä¸ªæ¯”较好的三层结构呢åQŸä¸‹é¢è¯´è¯´æˆ‘在程åºè®¾è®¡ä¸­é‡‡ç”¨çš„åšæ³•,当然˜q™é‡Œè°ˆçš„åªæ˜¯æˆ‘对三层的ç†è§£ï¼Œä¸ä¸€å®šå‡†¼‹®ã€‚欢˜qŽæ‹ç –。呵å‘?br>        ½E‹åºè®¾è®¡˜q½æ±‚的是代ç çš„通用性,å¯ç§»æ¤æ€§ï¼Œå¯ç»´æŠ¤æ€§ã€åŠŸèƒ½æ‰©å±•ã€‚æ€Žä¹ˆæ‰èƒ½åšåˆ°˜q™äº›å‘¢ï¼Ÿ˜q™éœ€è¦æˆ‘们大é‡çš„实践¾léªŒåšæ”¯æ’‘。对é¢å‘å¯¹è±¡æ€æƒ³çš„æ·±å…¥äº†è§£æ‰èƒ½åšåˆ°ã€‚ä¸ªäºø™§‰å¾—优¿U€çš„多层结构的设计肯定è¦å…ˆ¾_ùN€šæ¨¡å¼è®¾è®¡ï¼Œä¸è¿‡é—憾的是å¯Òލ¡å¼è®¾è®¡ç ”½I¶å¥½é•¿ä¸€ŒD‰|—¶é—ß_¼Œä¾ç„¶æ²¡èƒ½é¢†ç•¥åˆ°å®ƒçš„精髓,研究模å¼è®¾è®¡çœŸçš„很过瘑֓¦ã€?br>

以上是我在层åºè®¾è®¡ä¸­æ‰€ä½¿ç”¨çš„分层示æ„图ã€?br>Web层:也就是表½Cºå±‚åQŒå®ƒè´Ÿè´£å“应用户的请求,对于˜q™ä¸€å±‚越薄越好,一般ä¸åº”该写太多代ç ï¼Œæˆ–è€…äØ“äº†é¡µé¢æ˜¾½Cºçš„需è¦åšž®‘é‡çš„代ç ã€‚大é‡çš„处ç†å·¥ä½œéƒ½äº¤¾l™å…¶å®ƒçš„层去完æˆã€‚就好比传递员åQŒåªè´Ÿè´£æŽ¥å—åQŒåƈž®†è¯·æ±‚å‘åŽä¼ é€’,具体怎么åšå®ƒä¸ç”¨½Ž¡ã€?br>
Common层:˜q™é‡Œç”¨æ¥ž®è£…一些常用的功能性代ç ï¼Œä¸»è¦ç”¨æ¥ä¸ºå…¶å®ƒå±‚æœåŠ¡çš„ã€‚è¿˜æœ‰å­˜æ”¾ä¸€äº›è‡ªå®šä¹‰å®žä½“¾cÕdž‹å’Œè‡ªå®šä¹‰å®žä½“¾cÕdž‹é›†åˆã€‚用于å„层次之间数æ®äº¤äº’çš„è²ä½“。如UseråQŒUserCollectionåQŒå…³äºŽè‡ªå®šä¹‰å®žä½“˜q™é‡Œž®×ƒ¸å±•开了,如果¾pÈ»Ÿå¤æ‚的诘q™ä¸€å±‚应该比较厚实,包括下é¢çš„BLL层也是如此ã€?br>BLL层:ž®±æ˜¯é€»è¾‘层,用æ¥å¯ÒŽ•°æ®è¿›è¡Œæœ‰æ•ˆæ€§éªŒè¯ï¼Œç‰‰|¶‰åˆ°å¯¹æ•感数æ®çš„æ“ä½œéƒ½éœ€è¦ç»˜q‡è¿™é‡Œåšåˆ¤æ–­åQŒç„¶åŽæ‰èƒ½å†³å®šæ“作是å¦åˆæ³•ã€?br>
Dal层:数æ®è®‰K—®å±‚ï¼›ž®è£…å¯ÒŽ•°æ®åº“çš„æ“作。我们å¯ä»¥åšä¸€ä¸ªé€šç”¨çš„æ•°æ®è®¿é—®å±‚åQŒä¸‹‹Æ¡å¼€å‘的时候,ž®±å¯ä»¥ç›´æŽ¥æ‹¿˜q‡æ¥ç”¨ã€‚很爽的。有一点从˜q™é‡Œä¼ è¿›æ¥ã€ä¼ å‡ºåŽ»çš„æ•°æ®éƒ½ç”¨è‡ªå®šä¹‰å®žä½“代替åQŒè¿™æ ·å°±å¯ä»¥å®žçŽ°æ•°æ®è®‰K—®å±‚å¯¹å…¶å®ƒå±‚çš„å®Œå…¨é€æ˜Žã€‚这里å°è£…所有于数æ®åº“相关的代ç åQŒåŒ…括sql语å¥åQŒå­˜å‚¨è¿‡½E‹ç­‰ã€?br>
分层的æ€èµ\说完了,在多人开å‘ç³»¾lŸçš„˜q‡ç¨‹ä¸­ï¼Œž®±å¯ä»¥æŒ‰å±‚æ¥åˆ’分ä»ÕdŠ¡åQŒåªè¦è®¾è®¡çš„æ—¶å€™æŠŠæŽ¥å£å®šä¹‰å¥½ï¼Œå¼€å‘äh员就å¯ä»¥åŒæ—¶å¼€å‘。而且ä¸ä¼šå‘生冲çªåQŒåšå‰å°çš„ähæ ÒŽœ¬ž®×ƒ¸éœ€è¦çŸ¥é“æ•°æ®åº“¾l“构是什么,该怎么åŽÀLŸ¥æ‰¾ï¼Œæ›´æ–°åQŒåˆ é™¤æ•°æ®ï¼Œä»–直观调用å“应的æ–ÒŽ³•ž®±å¯ä»¥äº†ã€‚æ•°æ®è®¿é—®å±‚çš„äh也ä¸éœ€è¦çŸ¥é“å‰å°å‘生了什么,定义好与其它层交互的接å£åQŒè§„å®šå¥½å‚æ•°ž®Þp¡Œã€‚å„ä¸ªå±‚éƒ½ä¸€æ øP¼Œåšå¥½è‡ªå·±çš„工作就å¯ä»¥äº†ï¼Œåªè¦èƒ½åšåˆ°å¯¹å…¶å®ƒå±‚çš„å®Œå…¨é€æ˜Žã€‚这样就å¯ä»¥ž®†ä¿®æ”šw™å®šåœ¨ä¸€ä¸ªæ¯”较å°çš„范围内ã€?br>
但å„个层具体的代ç è¯¥æ€Žä¹ˆ¾l„织åQŒæˆ‘惌™¿™ž®Þp¦çœ‹ä¸ªäººçš„造诣了,è¦å¼€å‘出高性能åQŒå¯æ‰©å±•的代ç å°±éœ€è¦ç»“åˆæ¨¡å¼è®¾è®¡çš„æ€æƒ³åQŒé€šè¿‡ä»£ç ¾l“构的科学ã€åˆç†çš„设计方能在日åŽçš„¾l´æŠ¤˜q‡ç¨‹ä¸­æ¸¸åˆƒæœ‰ä½™ã€?br>
三ã€?nbsp;    æ€È»“

1)       从开å‘角度和应用角度æ¥çœ‹åQŒä¸‰å±‚架构比åŒå±‚或å•层结构都有更大的优势。三层结构适刾Ÿ¤ä½“å¼€å‘,æ¯ähå¯ä»¥æœ‰ä¸åŒçš„分工åQŒååŒå·¥ä½œä‹É效率å€å¢žã€‚å¼€å‘åŒå±‚或å•层应用æ—Óž¼Œæ¯ä¸ªå¼€å‘äh员都应对¾pÈ»Ÿæœ‰è¾ƒæ·Þqš„ç†è§£åQŒèƒ½åŠ›è¦æ±‚很高,开å‘三层应用时åQŒåˆ™å¯ä»¥¾l“åˆå¤šæ–¹é¢çš„人æ‰åQŒåªéœ€ž®‘数人对¾pÈ»Ÿå…¨é¢äº†è§£åQŒä»Žä¸€å®šç¨‹åº¦å·¥é™ä½Žäº†å¼€å‘的隑ֺ¦

2)       三层架构å¯ä»¥æ›´å¥½çš„æ”¯æŒåˆ†å¸ƒå¼è®¡ç®—环境。逻辑层的应用½E‹åºå¯ä»¥æœ‰å¤šä¸ªæœºå™¨ä¸Š˜q行åQŒå……分利用网¾lœçš„计算功能。分布å¼è®¡ç®—的潜力巨大,˜qœæ¯”å‡çñ”CPU有效。美国äh曑ֈ©ç”¨åˆ†å¼è®¡½Ž—解密,几个月就破解了殿U°æ°¸˜qœéƒ½ç ´ä¸äº†çš„密ç 

3)       也是三层架构的最大优ç‚ÒŽ˜¯å®ƒçš„安全性。用æˆïL«¯åªèƒ½é€šè¿‡é€»è¾‘层æ¥è®‰K—®æ•°æ®å±‚,å‡å°‘了入å£ç‚¹åQŒæŠŠå¾ˆå¤šå±é™©çš„ç³»¾lŸåŠŸèƒ½éƒ½å±è”½äº?br>


]]>
Ö÷Õ¾Ö©Öë³ØÄ£°å£º ÎåºÓÏØ| Îİ²ÏØ| ³ÎÂõÏØ| ´ó·½ÏØ| ¹àÄÏÏØ| ÕòÆ½ÏØ| פÂíµêÊÐ| Î÷³ëÏØ| ¿Æ¼¼| ʱÉÐ| ÉÏÁÖÏØ| Õ´»¯ÏØ| °Ý³ÇÏØ| ÈðÀöÊÐ| Èð°²ÊÐ| Äþ½úÏØ| µÂÑôÊÐ| »¯ÖÝÊÐ| ¾üÊÂ| Îå»ªÏØ| ¶·ÁùÊÐ| ÁÙãðÏØ| ÍòÉ½ÌØÇø| °ö²ºÊÐ| ÑôÎ÷ÏØ| ƽÌÁÏØ| Î÷ÏçÏØ| ʱÉÐ| ÂÐÄÏÏØ| ³¤´ºÊÐ| ºôÂêÏØ| Í¨É½ÏØ| Á¬Æ½ÏØ| ÀÖɽÊÐ| ÌÒÔ´ÏØ| ²ÔÉ½ÏØ| ³¤ÖÎÏØ| ÕýÄþÏØ| ÂÞ½­ÏØ| ÈêÑôÏØ| ÄϽ§|