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£¬¼ÈÊÇ
Ïà¹ØÎĵµ£º
Ôڳɹ¦ÊµÏÖJavaµ÷ÓÃC++Ö®ºó£¬½ÓÏÂÀ´Ïëµ½ÄÜ·ñͨ¹ýJNAʵÏÖJavaµ÷ÓÃFortran£¬½ñÌìÊÔÑéÁËһϣ¬»¹ÊDZȽÏÈÝÒ׵ġ£
ÍøÉÏÓÐÒ»¸öJavaµ÷ÓÃF95µÄÀý×Ó£¬µ«ÊÇÎÒ¿¼ÂDz»½öҪʵÏÖF95µÄµ÷Ó㬻¹ÒªÊµÏÖF77µÄµ÷Óã¬ËùÒÔ·ÑÁËһЩÖÜÕÛ¡£
ÎÊÌâµÄ¹Ø¼üÔÚÓÚF77Ϊ¹ý³ÌÃû×Ô¶¯Ìí¼ÓÁËÒ»¸öβ²¿µÄÏ»®Ïߣ¬ËùÒÔsub1Õâ¸ö¹ý³Ì£¬µ½JavaÒ»¶Ë£¬¾Í±ä³ÉÁËsub1_£¬ ......
JavaÊý×éÊÇÒ»¸öJava¶ÔÏó£¬Êý×éµÄ³¤¶ÈÊǹ̶¨µÄ£¬ÔÚͬһ¸öÊý×éÖÐÖ»Äܹ»´æ·ÅÏàͬÀàÐ͵ÄÊý¾Ý£¬Êý×é¿ÉÒÔ´æ·Å»ù±¾ÀàÐ͵ÄÊý¾Ý£¬Ò²¿ÉÒÔ´æ·ÅÒýÓÃÀàÐ͵ÄÊý¾Ý¡£ÔÚ´´½¨Êý×é¶ÔÏóʱ£¬±ØÐëÖ¸¶¨Êý×é¶ÔÏóµÄ³¤¶È£¬Êý×éÒ»µ©´´½¨£¬ËüµÄ³¤¶È¾Í²»ÄÜÔÙ±ä
£¨1£©´´½¨Êý×é¶ÔÏ󣨼´newÒ»¸öÊý×éʱ£©ÒªÖ¸¶¨Êý×éµÄ³¤¶È£¬Êý×éµÄ³¤¶ÈÒ»µ©Ö¸¶¨ ......
HeritrixÍøÂçÅÀ³æ¶ÔBDBǶÈëʽÊý¾Ý¿âµÄÓ¦Óã¨JAVA£©
Ò»¡¢HeritrixÖкÍBDBÏà¹ØµÄÀà
org.archive.bdb.BdbModule ÓÃÀ´Ó³ÉäÒ»¸ö¹²ÏíµÄBDBÊý¾Ý¿â»·¾³£¨JE£©µÄͨÓÃÄ£ÐÍ¡£
org.archive.bdb.BdbModule.BdbConfig Êý¾Ý¿âÅäÖöÔÏó¡£±ØÐèµÄ£¬ÒòΪcom.sleepycat.je.DatabaseConfigÕâ¸ö¶ÔÏóÊDz»»á±»ÐòÁл¯µÄ¡£´ËÍâËü»¹¿ÉÒÔ·ÀÖ¹ÎÞЧÉèÖà ......
ÔÚ½øÐÐMISϵͳ¿ª·¢¹ý³ÌÖÐ,´ÓÅäÖÃÎļþÖжÁÈ¡ÅäÖÃÐÅÏ¢ÊÇÿһ¸öϵͳ±ØÐë¾ß±¸µÄ¹¦ÄÜ,ÀýÈç,ÎÒÃÇÒªÅäÖöÁÈ¡Êý¾Ý¿âÅäÖÃÐÅÏ¢,°üÀ¨Çý¶¯³ÌÐòÃû¡¢Á¬½Ó×Ö·û´®£¬Óû§Ãû£¬¿ÚÁîµÈÐÅÏ¢£¬ÓÉÓÚÕâЩÐÅÏ¢»áËæ×ÅÓû§µÄ²»Í¬¶ø·¢Éú¸Ä±ä£¬ËùÒÔ²»ÄÜÖ±½Ó°Ñ²ÎÊýдÔÚ³ÌÐòÖУ¬½«ÆäдÈëÅäÖÃÎļþ£¬È»ºóÔÚÓ¦ÓóÌÐòÖжÁÈ¡ÅäÖÃÐÅÏ¢²¢¼ÓÒÔʹÓã¬ÊÇÒ»¸ö³É ......
ÓÐÊÂÇ飬ÓÐЩÊÂÇéÊÇÁ¦²»´ÓÐÄ£¡À´±±¾©ÒѾÁ½¸ö¶àÔ¹ýÈ¥ÁË£¬×Ô¼ºÀ뿪ÖØÇ죬À뿪¿ªËýÁ½¸öÔÂÁË£¬À´Õâ¶ùµÄËùÓзÑÓö¼ÊÇËý¾Êֵģ¬ËýµÄ¸¸Ä¸²»ÖªµÀ£¬Îҵĸ¸Ä¸Ò²²»
ÖªµÀÎÒÏÖÔÚûÓÐÉϰ࣬¸ü²»ÓÃ˵ÎÒ²»ÔÚÉÏ°àÁË£¡Ã¿½»´òµç»°£¬¶¼¸ø¼ÒÀïÃæµÄÈËÈö»Ñ£¬ÐÄÀïÕæµÄÓÐʱºòÓÐÒ»Öֿ޵ijåµÄ¸Ð¾õ£¬ÐÄÀïÎØÆü£¬È´Ö»ÄÜÊǶÌÔݵ ......