- 介绍
- 90-9-1 法则 (90–9–1 Principle or 1% Rule)
- 阿姆达尔定律 (Amdahl's Law)
- 破窗效应 (The Broken Windows Theory)
- 布鲁克斯法则 (Brooks's Law)
- CAP 定理 (CAP Theorem or Brewer's Theorem)
- 康威定律 (Conway's Law)
- 坎宁汉姆定律 (Cunningham's Law)
- 邓巴数字 (Dunbar's Number)
- 邓宁-克鲁格效应 (The Dunning-Kruger Effect)
- 费茨法则 (Fitts's Law)
- 盖尔定律 (Gall's Law)
- 古德哈特定律 (Goodhart's Law)
- 汉隆的剃刀 (Hanlon's Razor)
- 席克定律 (Hick's Law or Hick-Hyman Law)
- 侯世达定律 (Hofstadter's Law)
- 哈特伯定律 (Hutber's Law)
- 技术成熟度曲线 (The Hype Cycle or Amara's Law)
- 隐式接口定律 (Hyrum's Law or The Law of Implicit Interfaces)
- 柯林汉定律 (Kernighan's Law)
- 林纳斯定律 (Linus's Law)
- 梅特卡夫定律 (Metcalfe's Law)
- 摩尔定律 (Moore's Law)
- 墨菲定律 (Murphy's Law / Sod's Law)
- 奥卡姆剃刀 (Occam's Razor)
- 帕金森定理 (Parkinson's Law)
- 过早优化效应 (Premature Optimization Effect)
- 普特定律 (Putt's Law)
- 里德定律 (Reed's Law)
- 复杂性守恒定律 (The Law of Conservation of Complexity or Tesler's Law)
- 得墨忒耳定律 (The Law of Demeter)
- 抽象泄漏定律 (The Law of Leaky Abstractions)
- 帕金森琐碎定理 (The Law of Triviality)
- Unix 哲学 (The Unix Philosophy)
- Spotify 模型 (The Spotify Model)
- 沃德勒定律 (Wadler's Law)
- 惠顿定律 (Wheaton's Law)
- 原则
- 乔治·伯克斯定律 (All Models Are Wrong or George Box's Law)
- 切斯特森围栏 (Chesterson's Fence)
- 死海效应 (The Dead Sea Effect)
- 呆伯特法则 (The Dilbert Principle)
- 帕累托法则 (The Pareto Principle or The 80/20 Rule)
- 舍基原理 (The Shirky Principle)
- 彼得原理 (The Peter Principle)
- 鲁棒性原则 (The Robustness Principle or Postel's Law)
- SOLID
- 单一功能原则 (The Single Responsibility Principle)
- 开闭原则 (The Open/Closed Principle)
- 里氏替换原则 (The Liskov Substitution Principle)
- 接口隔离原则 (The Interface Segregation Principle)
- 依赖反转原则 (The Dependency Inversion Principle)
- 不要重复你自己原则 (The DRY Principle)
- KISS 原则 (The KISS Principle)
- 你不需要它原则 (YAGNI)
- 分布式计算的谬论 (The Fallacies of Distributed Computing)
- 阅读清单
- 在线资源
- 相关项目
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
开闭原则 (The Open/Closed Principle)
实体应开放扩展并关闭修改。
SOLID 的第二个原则。这个原则指出实体(可以是类、模块、函数等)应该能够使它们的行为易于扩展,但是它们的扩展行为不应该被修改。
举一个假设的例子,想象一个能够将 Markdown 转换为 HTML 的模块。如果可以扩展模块,而不修改内部模块来处理新的 markdown 特征,而无需修改内部模块,则可以认为是开放扩展。如果用户不能修改处理现有 Markdown 特征的模块,那么它被认为是关闭修改。
这个原则与面向对象编程紧密相关,让我们可以设计对象以便于扩展,但是可以避免以意想不到的方式改变其现有对象的行为。
参见:
- Object-Orientated Programming
- SOLID
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论