??xml version="1.0" encoding="utf-8" standalone="yes"?>99re热精品视频,久久精品99久久无色码中文字幕,亚洲成人一区二区在线观看http://www.aygfsteel.com/samuelray/zh-cnSat, 05 Jul 2025 05:06:16 GMTSat, 05 Jul 2025 05:06:16 GMT60OO 原则http://www.aygfsteel.com/samuelray/archive/2008/03/14/oo-principle.htmlSamuelRaySamuelRayFri, 14 Mar 2008 01:55:00 GMThttp://www.aygfsteel.com/samuelray/archive/2008/03/14/oo-principle.htmlhttp://www.aygfsteel.com/samuelray/comments/186193.htmlhttp://www.aygfsteel.com/samuelray/archive/2008/03/14/oo-principle.html#Feedback8http://www.aygfsteel.com/samuelray/comments/commentRss/186193.htmlhttp://www.aygfsteel.com/samuelray/services/trackbacks/186193.html最q在审查(review)代码?常常发现一大堆代码充满?jin)各Ubad smell.即工作?jin)三五年的同?也不?x)例?沟通时往往发现他们对OO的理解只是表现出单的概念理解.对OO的一些原则不甚了(jin)?或者写代码也是跟着感觉?

我最初做开发的时候也是跟着感觉?初次听到OCP如天外来?使用Java或C#不代表你是在做OO开?熟练使用OO语言不代表已l对OO非常?jin)?感谢Uncle Bob的经典巨?lt;Agile Software Development>,坚持阅读的习(fn)惯让我接触ƈ努力理解OO原则.一旦对q些原则有了(jin)深入的认?写代码时已l从更高的角度来分析问题,解决问题,力争写出优雅的代?

我对OO的了(jin)解也不算多深?只在q里抛砖引玉.因ؓ(f)原则比较?用一个系列来介绍?x)让大家更容易沟?

同时,原则是死?人是zȝ,不要被这些原则束~?有一些原则在特定的情况下才会(x)有效.

Single Choice Principle(SCP)
所有的判断只在一处进?q反此原则的典型情况是不同的Ҏ(gu)中充斥着相同的if ... else ...或类似的语句.

Linguistic Modular Units

Few Interfaces

Small Interfaces

Explicit Interfaces

Behavioral Completeness
一个完整的cdd含完整的Ҏ(gu).如果cL有完成它的职?或者没有完成其父类需要完成的工作,那么它就是不完整的类.

Law Of Demeter
只与直接协作的类交互.

The Principle of Essential Representation(PER)
cd该包含而且只包含其本质的定义和表现,与SRP比较接近.

Single Responsibility Principle(SRP)
一个类只承担一职?只能有一个发生变化的理由,那就是它的职责变化了(jin).

Open-Colse Principle(OCP)
cd该对扩展是开攄,对修Ҏ(gu)闭?

Liskov Substitution (LSP)
子类必须可以替换父类.

Dependency-Inversion Principles(DIP)
高层应该不依赖于低层,双方都应该依赖于抽象.抽象不依赖于l节,l节应该依赖于抽?

Interface Segregation Principles(ISP)
接口属于客户E序.

---------------------------------
Reuse Release Equivalence Principle(REP)
重用的粒度等于发布的_度.

Common Reuse Principle(CRP)
包中的类应该是共同重用的.

Common Closure Principle(CCP)
包中的类对同一cd化共同封闭的,一个类发生变化,可能所有的c都要发生变?

---------------------------------
Acyclic Dependencies Principle(ADP)
包之间的依赖l构不应该存在环依赖.

Stable Dependencies Principle (SDP)
包应该依赖于比它更稳定的?

Stable Abstractions Principle(SAP)
包的E_E度与抽象程度成正比,抽象的包越E_.

---------------------------------
开发时应该避免的bad design smell:
僵化(Rigidity) 一处变化会(x)影响pȝ中的很多地方.
脆弱(Fragility) 一处变化会(x)影响pȝ中不应该被媄(jing)响的地方.
牢固(Immobility) 很难被重?

q有一些原则可能被遗漏?如果你发C(jin),请及(qing)时提醒我.

 更多内容在另一博客http://samuelray.javaeye.com.


SamuelRay 2008-03-14 09:55 发表评论
]]>
如何表达不满 英文http://www.aygfsteel.com/samuelray/archive/2007/04/26/113802.htmlSamuelRaySamuelRayThu, 26 Apr 2007 07:40:00 GMThttp://www.aygfsteel.com/samuelray/archive/2007/04/26/113802.htmlhttp://www.aygfsteel.com/samuelray/comments/113802.htmlhttp://www.aygfsteel.com/samuelray/archive/2007/04/26/113802.html#Feedback0http://www.aygfsteel.com/samuelray/comments/commentRss/113802.htmlhttp://www.aygfsteel.com/samuelray/services/trackbacks/113802.html1. You make me sick! 你真让我恶心(j)Q?br>2. What’s wrong with you? 你怎么回事Q?br>3. I’m very disappointed. 真让我失望?
5. You’re a jerk! 你是个废?L(fng)Q?br>6. Don’t talk to me like that! 别那样和我说?
7. Who do you think you are? 你以Z是谁Q?br>8. What’s your problem? 你怎么回事啊?
9. I hate you! 我讨厌你Q?br>10. I don’t want to see your face! 我不愿再见到你!
11. You’re crazy! 你疯?
12. Are you insane/crazy/out of your mind? 你疯?jin)吗Q?
13. Don’t bother me. 别烦(ch)我?/p>

14. Knock it off. 来q一套?
15. Get out of my face. 从我面前消失Q?br>16. Leave me alone. 走开?
17. Get lost.滚开Q?br>18. Take a hike! 哪儿凉快哪儿歇着d?
19. You piss me off. 你气L?jin)?
20. It’s none of your business. 关你屁事Q?br>21. What’s the meaning of this? q是什么意思?
22. How dare you! 你敢Q?br>23. Cut it out. 省省吧?
24. You stupid jerk! 你这?Q?br>25. You have a lot of nerve. 脸皮真厚?br>26. I’m fed up. 我厌倦了(jin)?
27. I can’t take it anymore. 我受不了(jin)?jin)!Q李阌师常用Q?br>28. I’ve had enough of your garbage. 我听M(jin)你的废话?br>29. Shut up! 闭嘴Q?br>30. What do you want? 你想怎么P
31. Do you know what time it is? 你知道现在都几点吗?
32. What were you thinking? 你脑子进水啊Q?
33. How can you say that? 你怎么可以q样_(d)
34. Who says? 谁说的?
35. That’s what you think! 那才是你脑子里想的!

36. Don’t look at me like that. 别那L(fng)着我?br>37. What did you say? 你说什么?
38. You are out of your mind. 你脑子有毛病Q?br>39. You make me so mad.你气L?jin)啦?br>40. Drop dead. L吧!
41. Don’t give me your shit. 别跟我胡扯?
42. Don’t give me your excuses/ No more excuses. 别找借口?
43. Nonsense! DQ?br>44. You’re a pain in the ass. 你这讨厌鬹{?br>45. You’re an asshole. 你这~d鬹{?

46. You asked for it. 你自扄?
47. Get over yourself. 别自以ؓ(f)是?br>48. You’re nothing to me. 你对我什么都不是?br>49. It’s not my fault. 不是我的错?br>50. You look guilty. 你看上去?j)虚?br>51. I can’t help it. 我没办法?
52. That’s your problem. 那是你的问题?br>53. I don’t want to hear it. 我不惛_Q?br>54. Get off my back. 跟我罗嗦?br>55. Give me a break. 饶了(jin)我吧?/p>

56. Who do you think you’re talking to? 你以Z在跟谁说话?
57. Look at this mess! 看看q烂摊子Q?
58. You’re so careless. 你真_心(j)?br>59. Why on earth didn’t you tell me the truth? 你到底ؓ(f)什么不跟我说实话?
60. I’m about to explode! 我肺都快要气怺(jin)Q?br>61. What a stupid idiot! 真是白痴一个!
62. I’m not going to put up with this! 我再也受不了(jin)啦!
63. I never want to see your face again! 我再也不要见CQ?
64. That’s terrible. 真糟p!
65. Just look at what you’ve done! 看看你都做了(jin)些什么!

66. I wish I had never met you. 我真后?zhn)q辈子遇CQ?br>67. You’re a disgrace. 你真丢hQ?
68. I’ll never forgive you! 我永q都不会(x)饶恕你!
69. Don’t nag me! 别在我面前唠叨!
70. I’m sick of it. 我都M(jin)?br>71. Don’t you dare come back again! 你敢再回来!
72. Stop screwing/ fooling/ messing around! 别鬼混了(jin)Q?
73. Mind your own business! 好你自q事!
74. You’re just a good for nothing bum! 你真是一个废物!/ 你一无是处!
75. You’ve gone too far! 你太q分?jin)?

76. I loathe you! 我讨厌你Q?br>77. I detest you! 我恨你!
78. Get the hell out of here! 滚开!
79. Don’t be that way! 别那P
80. Can’t you do anything right? 成事不Q|事有余?/p>

81. You’re impossible. 你真不可救药?br>82. Don’t touch me! 别碰我!
83. Get away from me! Lq一点儿Q?
84. Get out of my life. 我不愿再见到你? 从我的生zM消失吧?
85. You’re a joke! 你真是一个小丑!

86. Don’t give me your attitude. 别跟我摆架子?
87. You’ll be sorry. 你会(x)后?zhn)的?br>88. We’re through. 我们完了(jin)Q?br>89. Look at the mess you’ve made! 你搞得一团糟Q?br>90. You’ve ruined everything. 全都让你搞砸?jin)?br>91. I can’t believe your never. 你好大的胆子Q?br>92. You’re away too far. 你太q分?jin)?br>93. I can’t take you any more! 我再也受不了(jin)你啦Q?br>94. I’m telling you for the last time! 我最后再告诉你一ơ!
95. I could kill you! 我宰?jin)你Q?

96. That’s the stupidest thing I’ve ever heard! 那是我听到的最愚蠢的事Q  (比尔·盖茨常用)
97. I can’t believe a word you say. 我才不信你呢!
98. You never tell the truthQ?你从来就不说实话Q?br>99. Don’t push me ! 别逼我Q?br>100. Enough is enough! 够了(jin)够了(jin)Q?/p>

SamuelRay 2007-04-26 15:40 发表评论
]]>
如何建立有效的激励机Ӟhttp://www.aygfsteel.com/samuelray/archive/2007/01/29/94301.htmlSamuelRaySamuelRayMon, 29 Jan 2007 09:38:00 GMThttp://www.aygfsteel.com/samuelray/archive/2007/01/29/94301.htmlhttp://www.aygfsteel.com/samuelray/comments/94301.htmlhttp://www.aygfsteel.com/samuelray/archive/2007/01/29/94301.html#Feedback0http://www.aygfsteel.com/samuelray/comments/commentRss/94301.htmlhttp://www.aygfsteel.com/samuelray/services/trackbacks/94301.html
通常?x)在成就感、发展机遇、工作乐、获得回报几斚w?br />成就感,首先表现在自L上,工作有多大的自由度。通常开发h员的工作都是由Leader指定Q这里对Leader的领D术有一定的要求。如果员工被指定q项d?x)细致到每个变量怎么声明Q或者简单得像培训材料上的实例,不要指望谁会(x)喜欢q项d。大安喜欢在工作中有一定的自由度,在统一的规则下可以加入自己的思想和行为,工作完成之后你可以认Z的智力已l投入到q项d中而不只是体力。其ơ是讑֮目标Q看看目标是否对自己是一U挑(xi)战。如果你非常定可以实现你的目标Q一炚w度也没有Q这工作的意义׃(x)昑־不那么大Q你也就不会(x)从中获得成就感。怎样使每工作对被指定的每个员工来讲都是重要的,使每个员工能充分发挥自己的能力,持箋(hu)获得成就感,q就是Leader的Q务?br />
发展机遇Q表现在很多斚wQ不同的个体Ҏ(gu)看法也不相同,大体上包括:(x)
》提供进修的Z(x)Q以提升员工的能力或是团队的整体实力?br />》提供进修或自学的假期,让员工可以利用这个假期做一些自我增值的q修学习(fn)?br />》购C业书c或者Q何可以帮到员工的书籍
》鼓励员工进入可以扩展其技能的目工作。多C业认为如果你在某目中工作得久Q那么你l箋(hu)在这目工作?x)工作成果有效,因而尽量阻止员工离开现在的岗位。事实上Q如果一个h在某工作上工作得越久,容易失d作的热情。技术上得不到提高,内容也是千篇一律,渐渐被技术抛弃感觉越来越强烈。如果不能在公司内部获得q入其它目的机?x),通常员工的流׃是不可避免的?br />》ؓ(f)员工指定导师q表明企业致力于其职业发?br />》避免进度的压力q大

有些企业M(x)觉得如果l员工培训会(x)增加许多的成本,担心(j)培训完之后员工很快离职,为别人做嫁衣。其实目光放q点׃(x)发现Q完善的培训机制也会(x)吸引更多人才加盟。ȝC物的反面QM(x)Ҏ(gu)不前?br />
工作乐趣是一w帔R要的指标Q它表明员工是否在每天早晨急于上班Q希望尽快进入工作状态。员工在什么情况下?x)容易找到工作乐呢Q?br />》感受到工作的意义,工作成果的责任,q且?jin)解工作成果。没有h?x)?f)正在开发一个没有完成就注定被放弃的目而感受工作的乐趣Q有的只是沮丧,失望Q挫折感Q赶快下班回Ӟ明天p职?br />》技术的多样性,保持一定的新奇和挑(xi)战?br />》Q务的完整性、重要?br />》自L,可以军_今天做哪些工作,q一周做哪些工作?br />》工作反馈,最差的反馈恐怕莫q于敯?br />
许多企业认ؓ(f)只有金钱才可以激励员工。不可否认金q实可以做到这一点,但多数情况下它无法做C惌做的事,即你认为应该可以达C想的目的。最差的情况是没有Q何激励措施而只有空头支,ơ差的情况就是给表现差的?%的奖励,表现好的?%的奖励。更p糕的是Q还认ؓ(f)如果达不到激q目的Q那一定是员工自己本n的思想存在问题?br />
其实Ȁq方式很多Q大家可以谈谈自q?j)得Q从理层或是普通员工的角度Q找到大家的交集?img src ="http://www.aygfsteel.com/samuelray/aggbug/94301.html" width = "1" height = "1" />

SamuelRay 2007-01-29 17:38 发表评论
]]>
调试VB DCOMlghttp://www.aygfsteel.com/samuelray/archive/2007/01/05/92020.htmlSamuelRaySamuelRayFri, 05 Jan 2007 08:21:00 GMThttp://www.aygfsteel.com/samuelray/archive/2007/01/05/92020.htmlhttp://www.aygfsteel.com/samuelray/comments/92020.htmlhttp://www.aygfsteel.com/samuelray/archive/2007/01/05/92020.html#Feedback0http://www.aygfsteel.com/samuelray/comments/commentRss/92020.htmlhttp://www.aygfsteel.com/samuelray/services/trackbacks/92020.htmlMSDN?img src ="http://www.aygfsteel.com/samuelray/aggbug/92020.html" width = "1" height = "1" />

SamuelRay 2007-01-05 16:21 发表评论
]]>
CMM之我?/title><link>http://www.aygfsteel.com/samuelray/archive/2006/11/21/82526.html</link><dc:creator>SamuelRay</dc:creator><author>SamuelRay</author><pubDate>Tue, 21 Nov 2006 06:17:00 GMT</pubDate><guid>http://www.aygfsteel.com/samuelray/archive/2006/11/21/82526.html</guid><wfw:comment>http://www.aygfsteel.com/samuelray/comments/82526.html</wfw:comment><comments>http://www.aygfsteel.com/samuelray/archive/2006/11/21/82526.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/samuelray/comments/commentRss/82526.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/samuelray/services/trackbacks/82526.html</trackback:ping><description><![CDATA[     摘要: 大量的Y件企业已l在实施或准备实施CMMQ在q个q程中出C(jin)许多误区。我现在工作的公司已l是CMMI5Q但我们依然有大量的工作要做Q才能逐渐提高效率?nbsp; <a href='http://www.aygfsteel.com/samuelray/archive/2006/11/21/82526.html'>阅读全文</a><img src ="http://www.aygfsteel.com/samuelray/aggbug/82526.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/samuelray/" target="_blank">SamuelRay</a> 2006-11-21 14:17 <a href="http://www.aygfsteel.com/samuelray/archive/2006/11/21/82526.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于设计http://www.aygfsteel.com/samuelray/archive/2006/11/19/82034.htmlSamuelRaySamuelRaySun, 19 Nov 2006 06:45:00 GMThttp://www.aygfsteel.com/samuelray/archive/2006/11/19/82034.htmlhttp://www.aygfsteel.com/samuelray/comments/82034.htmlhttp://www.aygfsteel.com/samuelray/archive/2006/11/19/82034.html#Feedback1http://www.aygfsteel.com/samuelray/comments/commentRss/82034.htmlhttp://www.aygfsteel.com/samuelray/services/trackbacks/82034.html设计的本质就是把软g的需求说明{变成可以q行的程序的整个q程。设计是一U脑力劳动,或者说是一个启发过E。设计是一个复杂的q程Q现在从几个斚w阐述它?/div>
设计可以表现在多层次上面Q设计方法可以是自底向上或是自顶向下Q在实际的工作中Q这两者结合用,相辅相成。首先用自向下的Ҏ(gu)把Y件系l划分成多个层次Q再在每个层ơ上面自向下或自底向上推动设计。层ơ从上到下通常表现为子pȝQ然后是模块Q子E序Q最后是内部子程序。这里模块和子程序的区别在于模快包含?jin)一些子E序和相关的数据Q而子E序只是一些功能集合?/div>
在早期,大家都采用结构化设计Q用程序看h更富逻辑性,直到面向对象(OO)Ҏ(gu)的出现。OO是设计方法的高层发展Q和l构化设计ƈ不矛盾。现在又有了(jin)面向斚w(OA)发v?jin)另一场革命,使设计方法更深入发展。这三种Ҏ(gu)也不是互斥的Q三者相互协作,大大提高?sh)(jin)设计的质量?/div>
设计q程是一个启发的q程Q非常复杂。多数情况下我们需要P代多ơ才能达成最后的目标Q还有一些是使用增量式开发过E来完成设计。我推荐大家使用q代Q明定义每ơP代的目标Q这h一步都走得很踏实。P代我们逐步l化设计QD最l品,而且l果是容易验证的Q整个过E是自信和愉快的?/div>
在这当中q要提到一个通用的准则:(x)解决问题的方法。遇到问题时Q首先要问自p个问题到底是什?What)Q搞清楚问题的真正原因,然后再制定几个方案ƈ评估它们做出最后的选择(How)。接着是实C的方案,有了(jin)前面的准备阶D,q一步实在是单到。最后你要去验证你的Ҏ(gu)是否辑ֈ你的目的Q这也很单?/div>
什么样的设计才是优秀呢?
  • ?
  • 低耦合高内?
  • 易扩?
  • 易移?
  • 易重用且重用度高
  • 标准化程度高

W合q些条g的设计通常是非常可靠的设计?/p>

SamuelRay 2006-11-19 14:45 发表评论
]]> վ֩ģ壺 | տ| ½| | | | | ն| | | ȳ| | | | | | ʡ| | Զ| | | | | ³ɽ| Ԫı| Ϫ| | | | ֣| ϴ| | | ī| | ɣ| | | | | ӽ|