JavaÓëģʽ: 6´óÔÔò
1£¬OCP(Open-Close Principle)¿ª±ÕÔÔò
Software entities should be open for extension,but closed for modification,(ÔÚÉè¼ÆÒ»¸öÄ£¿éµÄʱºò£¬Ó¦µ±Ê¹Õâ¸öÄ£¿é¿ÉÒÔÔÚ²»±»Ð޸ĵÄǰÌáÏÂÀ©Õ¹)¡£
¶ÔÀ©Õ¹¿ª·Åopen£¬¶ÔÐ޸ĹرÕclose¡£ÈçºÎʵÏÖ£¿
(1)£¬³éÏó»¯Êǹؼü;
(2)¶Ô¿É±äÐԵķâ×°ÔÔò(Principle of Encapsulation of Variation EVP)¡£ÓÃÎÒ×Ô¼ºµÄ»°À´Ëµ£¬ÔÚÎÒÃÇÉè¼ÆÄ£¿éµÄʱºò£¬Òª½«ÆäËû“ÀàËÆ”µÄÀ࣬ÌáÈ¡³öÀ´¹²Í¬µÄ´úÂ룬¾ÍÊÇËùνµÄ“³éÏó”¡£¶ø¶ÔÓÚÄÄЩ´úÂë·ÅÔÚ³éÏóÀàÀïÃæÈ¥£¬¾ÍÊÇ´æÔڿɱäÐԵĵط½.¶ÔÓÚÕâµã£¬ÎÒ»¹Ã»ÓÐÌå»áµ½¡£µäÐÍÈÝÒ×Àí½âµÄÁÐ×Ó£¬¹¤³§Ä£Ê½¡£µ±ÐèÒªÐÂÔö¼ÓÒ»¸öÀàµÄʱºò£¬Ö±½Ó¼Ì³Ðproduct½Ó¿Ú¾Í¿ÉÒÔÁË¡£
2£¬Liskov Subsitution Principle(LSP)ÀïÊÏ´ú»»ÔÔò
¾ÍÊÇ×ÓÀà¿ÉÒÔ´úÌæ¸¸Àà³öÏÖµÄÈκεط½£¬ÔÚ³éÏóµÄʱºò£¬ÖØÒªµÄÒªÀí½âµÄÒ»¸öµØ·½Á½¸öÀàÖ®¼äÊÇʲô¹ØÏµ£¬ÊÇ“has-A”£¿»¹ÊÇ“Is-a”µÄ¹ØÏµ¡£ÔÚ“has-a”µÄ¹ØÏµÖУ¬Á½¸öÀà´æÔÚµÄÊÇÒÀÀµµÄ¹ØÏµ(ÔÚÀàAÀïÃæ´æÔÚÀàBµÄµÄ±äÁ¿)£»ÔÚ“Is-a”µÄ¹ØÏµÖУ¬¿ÉÒÔÌáÈ¡ÕâÁ½¸öÀàµÄ“¹²Í¬´úÂë”·ÅÔÚ³éÏóÀàCÖУ¬È»ºóA£¬B¼Ì³ÐÓëC£¬ÕâÒ²ÊÇÒ»ÖÖÖØ¹¹¡£
3£¬Dependency Inversion Principle(DIP)ÒÀÀµµ¹×ªÔÔò
¾ÍÊÇÔÚÎÒÃDZà³ÌµÄʱºò·½·¨µÄ²ÎÊýÀàÐÍ£¬±äÁ¿£¬¶ÔÓÚÆäËû¾ßÌåÀàµÄÒÀÀµ£¬ÎÒÃǾ¡Á¿µÄʹÓóéÏóÀà¡£¾ÍÊÇ˵¾¡Á¿ÒÀÀµÓÚ³éÏ󣬶ø²»ÊÇÒÀÀµÓÚʵÏÖ¡£
ÔÚÊéÖÐÁ½ÖÖ±íÊö:
(1)£¬Abstraction should not depend on details.details should depend on abstraction. (³éÏó²»Ó¦µ±ÒÀÀµÓÚϸ½Ú£¬Ï¸½ÚÓ¦µ±ÒÀÀµÓÚ³éÏó)¡£Abstraction¾ÍÏñÊǽ¨ÖþÎïµÄ»ù´¡£¬¶øÆäʵÏÖÀà¾ÍÊÇÔÚ»ù´¡ÉÏÃæÒ»²ãÒ»²ãµÄÍùÉÏÃæ×ß¡£Äã²ðµô×îÉÏÃæÄDz㣬ºÍÄÃ×ß×îÏÂÃæµÄ»ù´¡£¬ÓÐʲô²»Í¬ÁË£¬Õâ¾ÍÊDzîÒìÁË¡£ËùÒÔAbstractionÊÇÒªÏ൱µÄÎȶ¨£¬ÊÇά»¤µÄÖØµã¡£Ò²ÕýÊÇÒòΪÎȶ¨£¬ËùÒÔÎÒÃǾ¡Á¿µÄÒÀÀµÓÚAbstraction£¬¼ÈÊÇ
Ïà¹ØÎĵµ£º
ͨ¹ý Groovy ½øÐÐÑ»·
ͬ´ó¶àÊý½Å±¾ÓïÑÔÒ»Ñù£¬Groovy ¾³£±»Ðû´«ÎªÉú²úÁ¦¸ü¸ß µÄ Java ÓïÑÔÌæ´úÆ·¡£ÄúÒѾ¿´µ½ÁË Groovy ȱÉÙÀàÐÍÄܹ»ÈçºÎ¼õÉÙ´ò×Ö¹¤×÷¡£ÔÚÕâÒ»½Ú£¬½«´´½¨²¢ÊÔÓÃÒ»¸ö repeat º¯Êý¡£ÔÚÕâ¸ö¹ý³ÌÖУ¬½«½øÒ»²½Ì½Ë÷ Groovy Ìá¸ßЧÂʵķ½Ê½¡£
¸üºÃ¡¢¸ü¶ÌµÄÑ»·
ÏÂÃæÕâÖÖ·½·¨¿ÉÒÔ¸üºÃµØ¸ÐÊÜ Groovy ȱ·¦ÀàÐ͵ĺà ......
Throwable
Throwable ÀàÊÇ Java ÓïÑÔÖÐËùÓдíÎó»òÒì³£µÄ³¬Àà¡£Ö»Óе±¶ÔÏóÊÇ´ËÀࣨ»òÆä×ÓÀàÖ®Ò»£©µÄʵÀýʱ£¬²ÅÄÜͨ¹ý Java ÐéÄâ»ú»òÕß Java throw Óï¾äÅ׳ö¡£ÀàËÆµØ£¬Ö»ÓдËÀà»òÆä×ÓÀàÖ®Ò»²Å¿ÉÒÔÊÇ catch ×Ó¾äÖеIJÎÊýÀàÐÍ¡£
Á½¸ö×ÓÀàµÄʵÀý£¬Error ºÍ Exception£¬Í¨³£ÓÃÓÚָʾ·¢ÉúÁËÒì³£Çé¿ö¡£Í¨³££¬ÕâЩʵÀýÊÇÔÚÒì³£Çé ......
¿´ÁËÒ»¶Î±±·çÍøµÄÊÓÆµ£¬×ܽἸ¸ö¾µäµÄjavaÏÝÚ司´ó¼Ò¡£
´ð°¸ÔÚ²©¿ÍÖУºhttp://blog.csdn.net/ol_beta/archive/2010/05/17/5598867.aspx
»¶Ó´ó¼ÒÌÖÂÛ£¡
1¡¢ÕÒÆæÊý£º
Java code
public static boolean isOdd(int i){
return i % 2 == 0;
}
ÉÏÃæµÄ·½·¨ÕæµÄÄÜÕÒµ½ËùÓÐµÄÆæÊýô£¿
2¡¢¸¡µãÊýÏë¼õ
Jav ......
ÔÚ½øÐÐMISϵͳ¿ª·¢¹ý³ÌÖÐ,´ÓÅäÖÃÎļþÖжÁÈ¡ÅäÖÃÐÅÏ¢ÊÇÿһ¸öϵͳ±ØÐë¾ß±¸µÄ¹¦ÄÜ,ÀýÈç,ÎÒÃÇÒªÅäÖöÁÈ¡Êý¾Ý¿âÅäÖÃÐÅÏ¢,°üÀ¨Çý¶¯³ÌÐòÃû¡¢Á¬½Ó×Ö·û´®£¬Óû§Ãû£¬¿ÚÁîµÈÐÅÏ¢£¬ÓÉÓÚÕâЩÐÅÏ¢»áËæ×ÅÓû§µÄ²»Í¬¶ø·¢Éú¸Ä±ä£¬ËùÒÔ²»ÄÜÖ±½Ó°Ñ²ÎÊýдÔÚ³ÌÐòÖУ¬½«ÆäдÈëÅäÖÃÎļþ£¬È»ºóÔÚÓ¦ÓóÌÐòÖжÁÈ¡ÅäÖÃÐÅÏ¢²¢¼ÓÒÔʹÓã¬ÊÇÒ»¸ö³É ......
ÓÐÊÂÇ飬ÓÐЩÊÂÇéÊÇÁ¦²»´ÓÐÄ£¡À´±±¾©ÒѾÁ½¸ö¶àÔ¹ýÈ¥ÁË£¬×Ô¼ºÀë¿ªÖØÇ죬À뿪¿ªËýÁ½¸öÔÂÁË£¬À´Õâ¶ùµÄËùÓзÑÓö¼ÊÇËý¾Êֵģ¬ËýµÄ¸¸Ä¸²»ÖªµÀ£¬Îҵĸ¸Ä¸Ò²²»
ÖªµÀÎÒÏÖÔÚûÓÐÉϰ࣬¸ü²»ÓÃ˵ÎÒ²»ÔÚÉϰàÁË£¡Ã¿½»´òµç»°£¬¶¼¸ø¼ÒÀïÃæµÄÈËÈö»Ñ£¬ÐÄÀïÕæµÄÓÐʱºòÓÐÒ»Öֿ޵ijåµÄ¸Ð¾õ£¬ÐÄÀïÎØÆü£¬È´Ö»ÄÜÊǶÌÔݵ ......