首页 > 其他分享 >版本号及面向对象设计原则

版本号及面向对象设计原则

时间:2023-03-05 17:59:21浏览次数:31  
标签:原则 版本号 子类 面向对象 设计 软件 父类

1.版本号

软件版本号就是商品的型号。

常见的版本号命名规则和几种类型

[name].x.y.z-[state]

name 为可选段,一般为v,表示Version;

x.y.z 为各版本的序号,一般都会遵循语义化版本 2.0.0 | Semantic Versioning

实际上基于此规范,name段不会出现;

state 可选段,用来表示当前软件的状态。例如:b 表示bate版,即测试版。

 

序号段核心规则

序号段就是 x.y.z 这一段,x、y、z为非负整数。

序号 说明
x :主版本号(major)无法向下兼容时,需要递增
y :次版本号(minor)新增新的特性时,需要递增
z :修订版本号(patch)修复问题时,需要递增
0.y.z 表示当前软件处于研发阶段,软件并不稳定

1.0.0 表示当前软件为初始的稳定版,后续的更新都基于此版本

对于系统基础的软件,一般在版本号中会标明适用的操作系统名称

版本状态段规则

标识 说明 含义
α 或 a alpha 版 内测版,Bug多
β 或 b beta 版 公测版,有缺陷
γ 或 g Gamma 版 成熟测试版,接近发行版
rc ReleaseCandidate 版 预发布版,有时会进一步细分:rc1、rc2
Demo 演示版 演示用,不做升级
SP SP1 service pack,升级包
Trial 试用版 试用版
Unregistered 未注册版 没有注册的版本,功能上有限制,这个大家懂的
Lite 精简版 只包含核心功能
enhance 增强版 增强版
free 免费版 自由使用的版本

release 发行版 有时间限制

upgrade 升级版 有功能增强或者修复了Bug

Retail 零售版 单独发售

Cardware 共享版 使用公用许可证

实际上大部分软件版本号命名都遵守上述规则。

 

总结

软件版本号格式通常为:x.y.z

x 主版本号,不向下兼容时递增;
y 次版本号,向下兼容,有新增特性时递增;
z 修订版本号,向下兼容,修复问题时递增;
a、b、rc 分别表示当前软件的发行状态。


在不同的项目也会有不同的命名规则.
除了版本号之外还会有一些修饰的词,比如: alpha: 内部版本 beta: 测试版 rc: 即将作为正式版发布 lts: 长期维护

 

2.面向对象设计原则

面向对象的设计原则又称软件工程基本原则,是一-组遵循的准则,它使构建和维护高质量,灵活,容易调整复杂软件应用程序变得更容易、可靠和有效。

第一个设计原则是单一职责原则,它指出每个类都应该只处理一个职责,以便使类的实现更加清晰,可维护性更强。这样,当需要更改某个类时,只需要更改它负责的职责,而不会影响其他类。

第二个设计原则是开放-封闭原则,这个原则指出,软件实体应该是可扩展的,而不是可修改的。这意味着,软件实体应该可以添加新的功能,而不是修改现有的功能。

第三个设计原则是里氏替换原则,(1)在任何父类出现的地方都可以用他的子类来替代(子类应当可以替换父类并出现在父类能够出现的任何地方),子类必须完全实现父类的方法。在类中调用其他类是务必要使用父类或接口,如果不能使用父类或接口,说明类的设计已经违背了LSP原则。

(2)子类可以有自己的个性。子类当然可以有自己的行为和外观了,也就是方法和属性。

(3)覆盖或实现父类的方法时输入参数可以被放大。即子类可以重载父类的方法,但输入参数应比父类方法中的大,的仍然是父类的方法。即以子类中方法的前置条件必须与超类中被覆盖的方法的前置条件相同或者更宽松。

(4)覆盖或实现父类的方法时输出结果可以被缩小。

第四个设计原则是依赖倒置原则,它指出,软件实体应该依赖于抽象,而不是具体的实现。这样,当实现发生变化时,不会影响到软件实体的结构和功能。

第五个设计原则是接口隔离原则,它指出类之间不应该有太多的依赖关系,而是应该通过接口来实现松耦合。这样,当某个类发生变化时,不会影响到其他类,因为它们之间没有直接的依赖关系。

第六个设计原则是组合重用原则,尽量使用对象组合,而不是继承来达到复用的目的。该原则就是在一个新的对象里面使用一些已有的对象,使之成为新对象的一部分,新的对象通过向这些对象的委派达到复用已有功能的目的。

第七个设计原则是迪米特法则(最少知识法则),它指出,一.个对象应该尽可能少地与其他对象进行交互。这样,当一个对象发生变化时,不会影响到1/2其他对象。


总的来说,面向对象的设计原则是一-组 有效的软件开发准则,它们可以帮助软件开发者更好地开发出可维护、可重用,可扩展的软件系统。

标签:原则,版本号,子类,面向对象,设计,软件,父类
From: https://www.cnblogs.com/Relliu/p/17181078.html

相关文章

  • Java 面向对象
    1、构造方法每个类都有构造方法。如果没有显式地为类定义构造方法,Java编译器将会为该类提供一个默认构造方法。在创建一个对象的时候,至少要调用一个构造方法。构造方法的......
  • 一文带你掌握轻量化模型设计原则和训练技巧!
    前言 本文将回顾轻量级模型的最新工作:EfficientFormer和TinyViT,分别从模型设计原则和模型训练技巧两个方面,对轻量化基础模型展开了详细的探索。本文转载自OpenMMLab作......
  • 面向对象设计原则
    1.单一职责原则(SRP:Singleresponsibilityprinciple)又称单一功能原则,面向对象五个基本原则(SOLID)之一。它规定一个类应该只有一个发生变化的原因。2.开放封闭原则(OCP,OpenCl......
  • 面向对象中@perproty的作用
    @property是Python中的一个装饰器(decorator),用于创建getter和setter方法。其作用是将类的方法转换为相应的属性,从而使得代码更加简洁明了。在Python中,我们可以通......
  • 面向对象
    构造函数的使用构造函数和普通函数没有区别,只不过在调用的时候和new关键字连用书写构造函数,函数名首字母大写,当看到名字的时候,就知道要和new关键字连用调用的时......
  • 【Java Pro】001-Java基础:面向对象
    【JavaPro】001-Java基础:面向对象文章目录​​【JavaPro】001-Java基础:面向对象​​​​一、面向对象​​​​1、什么是对象​​​​现实生活中的对象与程序中的对象​​......
  • 测试框架13条设计原则
    测试框架13条设计原则:1.代码规范:代码编写应符合通用规范,代码命名符合业界规范,代码层次清晰2.模块清晰明确:如下面这个模块分层示意图,处理文件和目录时,应事先画好模块图,......
  • 如何使用 js 实现一个比较APP版本号的大小的版本号排序函数 All In One
    如何使用js实现一个比较APP版本号的大小的版本号排序函数AllInOne(......
  • 面向对象高级特性
    面向对象高级特性抽象为什么会有抽象类当子类中都有一个共同的方法,每一个子类都有不同的实现,在父类中又要体现所有子类的共同的特点,所以要体现有这个方法,但是在父类......
  • MySQL 中的锁有哪些类型,MySQL 中加锁的原则
    MySQL中的锁理解锁的类型全局锁缺点适用范围表级锁表锁元数据锁意向锁自增锁行锁RecordLockGapLockNext-KeyLock插入意向锁加锁的原则1、......