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£¬¼ÈÊÇ
Ïà¹ØÎĵµ£º
ListµÄÓ÷¨
List°üÀ¨List½Ó¿ÚÒÔ¼°List½Ó¿ÚµÄËùÓÐʵÏÖÀà¡£ÒòΪList½Ó¿ÚʵÏÖÁËCollection½Ó¿Ú£¬ËùÒÔList½Ó¿ÚÓµÓÐCollection½Ó¿ÚÌṩµÄËùÓг£Ó÷½·¨£¬ÓÖÒòΪListÊÇÁбíÀàÐÍ£¬ËùÒÔList½Ó¿Ú»¹ÌṩÁËһЩÊʺÏÓÚ×ÔÉíµÄ³£Ó÷½·¨£¬Èç±í1Ëùʾ¡£
±í1 List½Ó¿Ú¶¨ÒåµÄ³£Ó÷½·¨¼°¹¦ÄÜ
´Ó±í1¿ÉÒÔ¿´³ö£¬List½Ó¿ÚÌṩµÄÊʺÏÓÚ×ÔÉíµÄ ......
JavaÊý×éÊÇÒ»¸öJava¶ÔÏó£¬Êý×éµÄ³¤¶ÈÊǹ̶¨µÄ£¬ÔÚͬһ¸öÊý×éÖÐÖ»Äܹ»´æ·ÅÏàͬÀàÐ͵ÄÊý¾Ý£¬Êý×é¿ÉÒÔ´æ·Å»ù±¾ÀàÐ͵ÄÊý¾Ý£¬Ò²¿ÉÒÔ´æ·ÅÒýÓÃÀàÐ͵ÄÊý¾Ý¡£ÔÚ´´½¨Êý×é¶ÔÏóʱ£¬±ØÐëÖ¸¶¨Êý×é¶ÔÏóµÄ³¤¶È£¬Êý×éÒ»µ©´´½¨£¬ËüµÄ³¤¶È¾Í²»ÄÜÔÙ±ä
£¨1£©´´½¨Êý×é¶ÔÏ󣨼´newÒ»¸öÊý×éʱ£©ÒªÖ¸¶¨Êý×éµÄ³¤¶È£¬Êý×éµÄ³¤¶ÈÒ»µ©Ö¸¶¨ ......
1.java project»·¾³£¬Ê¹ÓÃjava.ioÓÃÏà¶Ô·¾¶¶ÁÈ¡ÎļþµÄÀý×Ó£º
*Ŀ¼½á¹¹£º
DecisionTree
|___src
|___com.decisiontree.Sampl ......
¿´ÁËÒ»¶Î±±·çÍøµÄÊÓÆµ£¬×ܽἸ¸ö¾µäµÄ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 ......
ÓÐÊÂÇ飬ÓÐЩÊÂÇéÊÇÁ¦²»´ÓÐÄ£¡À´±±¾©ÒѾÁ½¸ö¶àÔ¹ýÈ¥ÁË£¬×Ô¼ºÀë¿ªÖØÇ죬À뿪¿ªËýÁ½¸öÔÂÁË£¬À´Õâ¶ùµÄËùÓзÑÓö¼ÊÇËý¾Êֵģ¬ËýµÄ¸¸Ä¸²»ÖªµÀ£¬Îҵĸ¸Ä¸Ò²²»
ÖªµÀÎÒÏÖÔÚûÓÐÉϰ࣬¸ü²»ÓÃ˵ÎÒ²»ÔÚÉϰàÁË£¡Ã¿½»´òµç»°£¬¶¼¸ø¼ÒÀïÃæµÄÈËÈö»Ñ£¬ÐÄÀïÕæµÄÓÐʱºòÓÐÒ»Öֿ޵ijåµÄ¸Ð¾õ£¬ÐÄÀïÎØÆü£¬È´Ö»ÄÜÊǶÌÔݵ ......