﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-chunkyo-Java技术-随笔分类-系统设计和设计模式</title><link>http://www.blogjava.net/chunkyo/category/38615.html</link><description /><language>zh-cn</language><lastBuildDate>Sat, 28 Mar 2009 06:32:49 GMT</lastBuildDate><pubDate>Sat, 28 Mar 2009 06:32:49 GMT</pubDate><ttl>60</ttl><item><title>Interface Segregation Principle (ISP) - OO设计的接口分隔原则---类设计原则</title><link>http://www.blogjava.net/chunkyo/archive/2009/03/28/262597.html</link><dc:creator>chunkyo</dc:creator><author>chunkyo</author><pubDate>Sat, 28 Mar 2009 06:17:00 GMT</pubDate><guid>http://www.blogjava.net/chunkyo/archive/2009/03/28/262597.html</guid><wfw:comment>http://www.blogjava.net/chunkyo/comments/262597.html</wfw:comment><comments>http://www.blogjava.net/chunkyo/archive/2009/03/28/262597.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/chunkyo/comments/commentRss/262597.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/chunkyo/services/trackbacks/262597.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Clients should not be forced to depend upon interfaces that they do not use.<br>不能强迫用户去依赖那些他们不使用的接口。换句话说，使用多个专门的接口比使用单一的总接口总要好。<br>它包含了2层意思：<br>- 接口的设计原则：接口的设计应该遵循最小接口原则，不要把用户不使用的方法塞进同一个接口里。<br>  如果一个接口的方法没有被使用到，则说明该接口过胖，应该将其分割成几个功能专一的接口。<br>- 接口的依赖（继承）原则：如果一个接口a依赖（继承）另一个接口b，则接口a相当于继承了接口b的方法，那么继承了接口b后的接口a也应该遵循上述原则：不应该包含用户不使用的方法。<br>  反之，则说明接口a被b给污染了，应该重新设计它们的关系。<br>&nbsp;&nbsp;<a href='http://www.blogjava.net/chunkyo/archive/2009/03/28/262597.html'>阅读全文</a><img src ="http://www.blogjava.net/chunkyo/aggbug/262597.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/chunkyo/" target="_blank">chunkyo</a> 2009-03-28 14:17 <a href="http://www.blogjava.net/chunkyo/archive/2009/03/28/262597.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>The Open-Closed Principle (OCP) - OO设计的开闭原则---类设计原则</title><link>http://www.blogjava.net/chunkyo/archive/2009/03/28/262595.html</link><dc:creator>chunkyo</dc:creator><author>chunkyo</author><pubDate>Sat, 28 Mar 2009 06:15:00 GMT</pubDate><guid>http://www.blogjava.net/chunkyo/archive/2009/03/28/262595.html</guid><wfw:comment>http://www.blogjava.net/chunkyo/comments/262595.html</wfw:comment><comments>http://www.blogjava.net/chunkyo/archive/2009/03/28/262595.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/chunkyo/comments/commentRss/262595.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/chunkyo/services/trackbacks/262595.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Software entities (classes, modules, function, etc.) should be open for extension, but closed for modification.<br>    软件实体（模块，类，方法等）应该对扩展开放，对修改关闭。&nbsp;&nbsp;<a href='http://www.blogjava.net/chunkyo/archive/2009/03/28/262595.html'>阅读全文</a><img src ="http://www.blogjava.net/chunkyo/aggbug/262595.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/chunkyo/" target="_blank">chunkyo</a> 2009-03-28 14:15 <a href="http://www.blogjava.net/chunkyo/archive/2009/03/28/262595.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>