前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >程序设计原则

程序设计原则

原创
作者头像
村子里的设计师
发布2023-03-21 16:11:27
3790
发布2023-03-21 16:11:27
举报
文章被收录于专栏:程序设计a

下面的各个原则所遵循的总原则是 “越抽象,越容易扩展”。

开闭原则

对扩展开放,对修改关闭。

比如原本存在 modify 的方法,如果有 modify&save 需求,按照开闭原则应该新增一个 modifyAndSave 的方法,而不是修改原来的modify。

该原则实际是要求 底层方法要功能单一。

里氏代换原则

子类可以扩展父类的功能,但不能修改父类原有的功能。

换言之,一个好的父类一定是最抽象和通用的,这样才能保证所有子类能从父类中扩展出来,而不修改父类。如果碰到新增子类需要修改父类的情况,说明该父类不够抽象。

该原则实际是要求 父类要足够抽象。

依赖倒转原则

抽象不应该依赖具体,具体可以依赖抽象。

比如 computer的抽象类应该依赖抽象的memory, harddisk类,而不依赖具体的KingtonMemory类。

该原则实际是要求 父类足够抽象。这要求父类依赖的类也足够抽象。

接口隔离原则

一个类对另一个类的依赖应该建立在最小的接口上。

比如 如果在 抽象的动物类 中定义了喝水的接口,如果存在一种 具体的动物 不喝水,那么具体动物继承抽象动物类时,将获得自己不需要的 喝水 的接口。

该原则实际是要求 父类足够抽象。这要求父类中定义的方法一定是最通用的,不存在一个方法不被其子类使用。

迪米特法则(最少知识原则)

如果两个实体之间无需直接通信,就不应该发生直接调用。

比如 明星的类不应依赖经纪公司,明星的类只应关心明星自身,经纪公司的类只应关注经纪公司自身。经纪人的类中将两者做连接。

该原则实际是要求 类要足够独立。这要求类依赖的其他类要尽可能少,在类的定义中只有与其自身有关的知识(最少知识)。

合成复用原则

尽量使用组合而非继承。

比如 车辆类中最好组合了颜色类(颜色作为车辆的成员),而不是继承车辆类,产生红色车,蓝色车的子类。

该原则实际是要求 ???

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 开闭原则
  • 里氏代换原则
  • 依赖倒转原则
  • 接口隔离原则
  • 迪米特法则(最少知识原则)
  • 合成复用原则
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档