- UID
- 12289
- 热情
- 32
- 人气
- 2
- 主题
- 0
- 帖子
- 527
- 精华
- 11
- 积分
- 306
- 分享
- 0
- 记录
- 0
- 相册
- 0
- 好友
- 0
- 日志
- 0
- 在线时间
- 332 小时
- 注册时间
- 2002-12-4
- 阅读权限
- 20
- 最后登录
- 2017-9-5
升级 35.33% - UID
- 12289
- 热情
- 32
- 人气
- 2
- 主题
- 0
- 帖子
- 527
- 精华
- 11
- 积分
- 306
- 阅读权限
- 20
- 注册时间
- 2002-12-4
|
...... For 157.226......
Open Closed Principle OCP:
A module should be open for extension but closed for modification.
就像升级电脑一样,我们要拨号上网就插一张内置Modem;我们要用电脑看电视就插一张电视卡;我们要联网玩游戏就插一张网卡;如果我们什么都不要,就什么都不插.这个"插与不插"的过程不会影响到原来电脑可以使用的功能,例如,有没有Modem我们都可以听MP3.
另外一个例子: 炒菜的时候你可以选择放盐,放糖,放醋,放泻药,或者什么都不放.无论你放了什么或者什么都不放,那盘菜炒熟后都是可以吃的.
Liskov Substitution Principle LSP:
Subclasses should be substitutable for their base classes.
用回电脑做例子.假设你的硬盘有十个分区,那么,你可以把一首MP3放在任意一个分区里面,无论你放在哪个分区,都代表了硬盘是可以存储MP3的.
另外一个例子:如果要研究一下普通人的头部有什么器官,那么随便在梅西抓一个学生回来就可以慢慢研究了,因为学生也是一个人.
Dependency Inversion Principle DIP:
Depend on abstractions. Do not depend upon concretions.
踢足球的时候最讲究的就是合作.假设一支足球队在比赛中胜出了,颁奖的时候却不是给每个球员一个奖杯,而是给了整支足球队,虽然每个球员都是足球队的一分子.
178.280告诉我们,如果要对下一年的经济做出预测,那么就要看今年整体的经济数据,而不是单独某一项数据,因为整体数据更加有代表性,单独的任何数据都已经在包括在整体的数据里面.
另外一个例子: Kiwi普偏都比我们胖,可是偶尔可能也有一两个Kiwi是皮包骨的.所以,如果要对比普通的Kiwi和普通的中国人哪个重,我们就要看宏观的看,不能单单的因为看到那个皮包骨的,就觉得中国人比Kiwi胖.
Interface Segregation Principle ISP:
Many client specific interfaces are better than one general-purpose interface.
这次用SkyKiwi做例子了.Skykiwi上有很多板块,我们是梅西的,大部分时间都在梅西这个板块灌水.即使灌得再多,跟奥大的板块是没有任何关系的.哪怕奥大那个板块关闭了,我们依然可以在梅西这个板块拼命灌.
另外一个例子: ShowBoy是给mm看的,ShowGirl是给gg看的,这样就可以同时满足了mm 和gg的不同需要.如果只有一个ShowPerson,里面只有ShowGirl的话,就是失去了原来的mm客户;里面只有ShowBoy的话,将会失去了原来的gg顾客.当然,除了gay.
[ 本帖最后由 LostGhost 于 2005-11-7 20:01 编辑 ] |
|