• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

无信不立

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

设计模式之禅之六大设计原则-开闭原则

开闭原则

一:开闭原则的定义
        --->一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。
        --->我们做一件事情,或者选择一个方向,一般需要经历三个步骤:What——是什么,Why——为什么,How——怎么做(简称3W原则,How取最后一个w)
        --->对于开闭原则,我们也采用这三步来分析,即什么是开闭原则,为什么要使用开闭原则,怎么使用开闭原则?


二:如何使用开闭原则
        --->抽象约束。
                (1)定义接口,如果业务有变化,则重写类中的方法,不修改原有代码。就是对扩展开放,对修改关闭。
               
        --->元数据(metadata)控制模块行为
                (1)编程是一个很苦很累的活,那怎么才能减轻我们的压力呢?答案是尽量使用元数据来控制程序的行为,减少重复开发。什么是元数据?用来描述环境和数据的数据,通俗地说就是配置参数,参数可以从文件中获得,也可以从数据库中获得。


        ----->制定项目章程
                (1)制定规范,统一风格编程
        ----->封装变化
                (1)对变化的封装包含两层含义:第一,将相同的变化封装到一个接口或抽象类中。第二:将不同的变化封装到不同的接口或抽象类中,不应该有两个不同的变化出现在同一个接口或抽象类中。


三:最佳实践
        ---->软件设计最大的难题就是应对需求的变化,但是纷繁复杂的需求变化又是不可预料的。则6大设计原则以及23个设计模式来“封装”未来的变化。
        
        ---->开闭原则也只是一个原则。
                (1)开闭原则只是精神口号,实现拥抱变化的方法非常多,并不局限这6大设计原则,但是遵循6大设计原则基本可以应对大多数变化。
                (2)开闭原则,是其他五大原则的宗旨。其他五大原则,是开闭原则的具体实现
        













































posted on 2015-12-24 18:52  无信不立  阅读(252)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3