ÉîÈëdz³öÉè¼ÆÄ£Ê½(C#/Java°æ)
GRASPģʽ:General Responsibility Assignment Software Patterns£ºÍ¨ÓÃÔðÈηÖÅäÈí¼þģʽ
ÀïÃæÖØÒªµÄ¸ÅÄîÊÇÔðÈΣ¬ÔðÈÎÊÇÀà¼äµÄÒ»ÖÖºÏÔ¼»òÊÇÒåÎñ£¬¿ÉÒÔϸ·ÖΪÁ½²¿·Ö£¬Óù«Ê½±íʾÈçÏ£º
ÔðÈÎ = ÖªµÀÔðÈÎ + ÐÐΪÔðÈΣ¨ÕâÀïÃæËÆºõ´æÔÚ¸ÅÄîµÄÑ»·¶¨Ò壩
×¢£ºÓÃͨË׵ϰÀ´½²£¬ÔðÈξÍÊÇÒ»¸öÀàÖªµÀÒª×öʲô£¬²¢ÇÒÄܹ»×öʲô¡£
·ÖΪ£º
Information Expert / Creator / Low coupling / High cohesion /Controller / Polymorphism / Pure Fabrication / Indirection /
Protected Variations
×¢£ºÕâÀïÃæµÄģʽ·ÖÀàËÆºõ¸üÇ¿µ÷ÊÇ£¨OOA/OOD£©ÃæÏò¶ÔÏó·ÖÎö/Éè¼ÆËù¾ßÓеÄÌØÐÔ»îÌØÕ÷£¬¶ø²»ÊÇģʽ»®·Ö¡£
GoFģʽ£ºGung of Four £º ±ê×¼µÄ23¸öģʽ
¸ù¾ÝÄ¿µÄ·ÖÀࣺ
a.Creational(´´½¨ÐÍ)£º¶ÔÏó´´½¨ÓйØ
b.Structural(½á¹¹ÐÍ)£º´¦ÀíÀà»ò¶ÔÏóµÄ×éºÏ
c.Behavioral (ÐÐΪÐÍ)£ºÃèÊöÀà»ò¶ÔÏóÈçºÎ½»»¥¼°ÈçºÎ·ÖÅäÖ°Ôð
¸ù¾Ý·¶Î§Ö°Ôð·ÖÀࣺ
Ààģʽ£º´¦ÀíÀàÓë×ÓÀàÖ®¼äµÄ¹ØÏµ£¬ÕâЩ¹ØÏµÍ¨¹ý¼Ì³Ð½¨Á¢£¬ÊǾ²Ì¬µÄ¹ØÏµ£¬ÔÚ±àÒëµÄʱºò¾ÍÒѾȷ¶¨ÏÂÀ´¡£Ààģʽ¶¼ÊÇʹÓÃÁ˼̳еĻúÖÆ£¬
Òò´ËºÜÉÙ²¿·ÖģʽÊôÓÚÕâÒ»Àà¡£
¶ÔÏóģʽ£º´¦Àí¶ÔÏó¼äµÄ¹ØÏµ£¬ÕâЩ¹ØÏµ¾ßÓж¯Ì¬ÐÔ£¬ÔÚÔËÐÐÆÚ¼äÊÇ¿ÉÒԱ仯µÄ¡£
Ïà¹ØÎĵµ£º
ÏÈÀ´Á˽âÒ»ÏÂÁ´±íģʽµÄÔÀí£º
Ê×ÏÈдһ¸öJavaBean£¬ÄÚÈÝÊÇÒªÌí¼ÓµÄÔªËØºÍ¸ÃÔªËØµÄ½Úµã¡£
public class NodeBean implements Serializable
{
private Object data; //ÔªËØ±¾Éí
private NodeBean next; //ÏÂÒ»¸ö½Úµã
&n ......
ʵÑéÒªÇó£º
1.±àд»ùÓÚTCPÐÒéµÄͨÐųÌÐò£¬°üÀ¨ServerÓëClientÁ½¸ö²¿·Ö¡£ÊµÏÖ»ØÉù³ÌÐò£º¼´¿Í»§¶Ë·¢ËÍÏûÏ¢£¬·þÎñÆ÷¶Ë½«ÊÕµ½µÄÏûÏ¢ÔÑù»áË͸ø¿Í»§¶Ë¡£
2.ÔÚµ¥»úÉÏÔËÐÐËüÃÇ£¬ÑéÖ¤ÆäͨÐŽá¹û£»
3.ÔÚ¶à»úÉÏÔËÐÐËüÃÇ£¬ÑéÖ¤ÆäͨÐŽá¹û£»£¨ChatServerÖ»ÐèÔËÐÐÔÚһ̨Ö÷»úÉÏ£¬ChatClient¿ÉÔÚÆäËüÖ÷»úÉÏÔËÐУ¨ÒªÖªµÀChatServerËùÔ ......
Ò».ÏîÄ¿¼ò½é£º
¡¡¡¡JAVAÓïÑÔÊÇÒ»ÖÖ¿ÉÒÆÖ²µÄ£¬¼òµ¥µÄ£¬½¡×³µÄǶÈëʽÓïÑÔ¡£²¢ÇÒ¶ÔÍøÂ磬Êý¾Ý¿âÓкܺõÄÖ§³Ö£¬»ùÓÚJAVAÓïÑÔµÄÕâÖÖÌØÐÔ¿ÉÒÔÊ®·ÖÈÝÒ׵ؽ¨Á¢Ò»¸öСÐÍINTERNET·þÎñÆ÷¡£
¡¡¡¡±¾ÏîÄ¿ÖУ¬×÷ÕßÓÃJAVAÓïÑÔ±àдÁËÒ»¸öWEB΢ÐÍ·þÎñÆ÷£¬¶Ô¼òµ¥µÄHTTPÇëÇó½øÐÐÏìÓ¦£¬²¢Í¨¹ýºó¶ËÊý¾Ý¿â¶ÔÓû§µÄ²éѯ½øÐд¦Àí£¬´Ó¶ø¶¯Ì¬µØ·µ»ØHT ......
ÔÚAndroidµÄÓ¦ÓóÌÐò¿ª·¢ÖУ¬Í¨³£Ê¹ÓõÄÊÇJAVAÓïÑÔ£¬³ýÁËÐèÒªÊìϤJAVAÓïÑԵĻù´¡ÖªÊ¶Ö®Í⣬»¹ÐèÒªÁ˽âAndroidÌṩµÄÀ©Õ¹µÄJAVA¹¦ÄÜ¡£
ÔÚÒ»°ãµÄJAVAÓ¦ÓÃÖУ¬Èç¹ûÐèÓÃÒýÓûù´¡Àà¿â£¬Í¨³£ÐèҪʹÓÃÈçϵķ½Ê½£º
import
javax.swing.*;
ÒÔÉÏ´úÂë±íʾÁËÒýÓÃJAVAµÄGUI×é¼þSwing,javax.swing¼´JAVAÖеÄÒ»¸ö°ü¡£
androidÌṩһР......