当前位置: 首页 > news >正文

《大话设计模式》读书笔记-第4章 开放-封闭原则

1.开放-封闭原则(OCP),是说软件实体(类、模块、函数等等)应该可以扩展,但不可修改。

2.开放-封闭原则的两个特征:对于扩展时开放的;对于更改时封闭的。

3.在我们最初编写代码是,假设变化不会发生。当变化发生时,我们就创建抽象来隔离以后发生的同类变化。

4.开放-封闭原则的精神:面对需求,对程序的改动是通过增加新代码进行的,而不是更改现有的代码。

5.应该在开发工作展开不久就知道可能发生的变化。查明可能发生的变化所等待的时间越长,要创建正确的抽象就越困难。

6.开放-封闭原则是面向对象设计的核心所在。遵循这个原则可以带来面向对象技术所声称的巨大好处,也就是可维护、可扩展、可复用、灵活性好。开发人员应该仅对程序中呈现出频繁变化的那些部分做出抽象,然而,对于应用程序中的每个部分都刻意地进行抽象同样不是一个好主意。拒绝不成熟的抽象和抽象本身一样重要。

转载于:https://www.cnblogs.com/qinzhijun/archive/2010/09/12/1824338.html

相关文章:

  • Struts入门实例
  • MVC入门学习笔记(三)
  • CentOS服务器配置系列--telnet服务器
  • visual scene interpretation
  • 如何用JSP/Java程序免费向手机发消息?
  • Bigpoint 发布全球首款Silverlight网页游戏(转载)
  • VS2008的动、静态编译(转)
  • python 批量修改密码
  • 计算机达人成长之路(20)
  • java线程同步概述
  • jQuery id选择器中特殊字符的处理
  • C#类学习-1
  • 定义Message大小限制
  • Dojo学习5 日期选择:dijit.form.DateTextbox
  • 转 fpga学习经验2
  • bearychat的java client
  • create-react-app项目添加less配置
  • ES学习笔记(10)--ES6中的函数和数组补漏
  • PHP 的 SAPI 是个什么东西
  • Protobuf3语言指南
  • Wamp集成环境 添加PHP的新版本
  • 产品三维模型在线预览
  • 成为一名优秀的Developer的书单
  • 反思总结然后整装待发
  • 关于Java中分层中遇到的一些问题
  • 后端_MYSQL
  • 回顾2016
  • 小程序测试方案初探
  • 白色的风信子
  • 【运维趟坑回忆录 开篇】初入初创, 一脸懵
  • AI算硅基生命吗,为什么?
  • FaaS 的简单实践
  • RDS-Mysql 物理备份恢复到本地数据库上
  • ​虚拟化系列介绍(十)
  • #微信小程序:微信小程序常见的配置传旨
  • $NOIp2018$劝退记
  • (C#)一个最简单的链表类
  • (C)一些题4
  • (env: Windows,mp,1.06.2308310; lib: 3.2.4) uniapp微信小程序
  • (附源码)基于SpringBoot和Vue的厨到家服务平台的设计与实现 毕业设计 063133
  • (利用IDEA+Maven)定制属于自己的jar包
  • (原创)Stanford Machine Learning (by Andrew NG) --- (week 9) Anomaly DetectionRecommender Systems...
  • (转)Java socket中关闭IO流后,发生什么事?(以关闭输出流为例) .
  • (转)甲方乙方——赵民谈找工作
  • (轉貼) 寄發紅帖基本原則(教育部禮儀司頒布) (雜項)
  • .L0CK3D来袭:如何保护您的数据免受致命攻击
  • .Net 8.0 新的变化
  • .NET Core6.0 MVC+layui+SqlSugar 简单增删改查
  • .NET Entity FrameWork 总结 ,在项目中用处个人感觉不大。适合初级用用,不涉及到与数据库通信。
  • .net 调用php,php 调用.net com组件 --
  • .NET 服务 ServiceController
  • .NET 中让 Task 支持带超时的异步等待
  • .NET/C# 在 64 位进程中读取 32 位进程重定向后的注册表
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)
  • .net6+aspose.words导出word并转pdf