自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 SOLID原则

SOLID原则是一组设计原则,它们旨在帮助开发人员创建易于维护和可扩展的软件系统,这些原则的缩写代表以下5个原则:1. 单一职责原则(SRP):一个类应该只有一个职责。2. 开闭原则(OCP):软件实体应该对扩展开放,对修改关闭。3. 里式替换原则(LSP):子类应该能够替换其父类并保持系统行为的一致性。4. 接口隔离原则(ISP):客户端不应该依赖于它不使用的接口。5. 依赖反转原则(DIP):高层模块不应该依赖于底层模块,它们应该通过抽象接口进行交互。

2023-05-25 16:37:00 1604

原创 软件构造_Spec

行为等价(Behavioral equivalence),即不同的代码实现,对于用户来讲,是否是等价的,即相对于提供的同一个spec,是不是都被满足了,如果都满足那么就算做等价。行为等价性可以被视为一种黑盒测试技术,其中测试人员将计算机程序的输入和输出(包括程序的界面,数据库操作和整个程序的行为)与其他实现进行比较,以检查不同实现之间的一致性和一致性,从而找出系统中的缺陷或错误。后置条件越强,对于用户来讲得到的信息越具体,这样就需要程序员使用更加具体的实现方式,限制了实现的手段,使得程序员不能随便实现了。

2023-05-25 16:15:55 608 2

原创 Java中的“RI“与“RI“

表示域(称为R)包含的是值具体的实现实体。抽象域(称为A)包含类型设计时支持使用的值。抽象函数是表示值到其对应的抽象值的映射——AF: R->A。R空间:表示空间,是在类中表示的值。A空间:抽象空间,用户看到和使用的值。抽象函数AF: R和A之间映射关系的函数,即如何去解释R中的每一个值为A中的每一个值。AF是满射、非单射、未必双射。值得一提的是,当两个不同的r值指向同一个a值的时候,这是ADT的不变量并没有违反,也就是说,rep不一定得一直保持不变,这是一种有益的变化。

2023-05-25 15:53:26 170 1

原创 Java中的数据类型与类型检验

浅谈一下对软件构造中Java的数据类型与类型检验的理解。

2023-05-25 15:38:51 879 1

原创 软件构造过程与配置管理

这一章主要介绍了软件构造的大致过程,并重点介绍了软件构造过程中的版本控制系统。重点是大致了解软件开发生命周期,以及熟悉掌握git的使用。

2023-05-17 19:32:48 151

原创 测试优先的编程

作为一名刚升上大二的软件工程学生,我对软件测试的重要性并不是非常清楚。但是事实上,在软件产品开发的生命周期中,软件测试是一个至关重要的环节。它是确保软件产品质量的最后一道防线,也是为最终用户提供可靠、稳定、高质量的产品的重要途径。

2023-05-15 21:12:35 104

原创 软件构造“三维度与八视图”

今天软件构造的内容结束了,回过头来重新看最开始学习的“三维度与八视图”,发现已经能从刚开始的不理解,到现在可以在某一个视图中找到对应的知识和内容。这篇文章即用来总结一下“三维度与八视图”。先给出一张关于“三维度八视图”的总体图:多维度视图主要包括构造时/运行时视图(按阶段划分)、时刻/阶段视图(按动态性划分)、代码/构件视图(按构造对象的层次划分)。现在从八个视图逐一来分析。这一部分主要是源码层面的,根据表达“需求和“设计”思想设计AST(code),即将源码彻底结构化,变成一棵树。

2023-04-10 11:30:01 441

转载 Java中的clone方法

分配完内存之后,再调用构造函数,填充对象的各个域,这一步叫做对象的初始化,构造方法返回后,一个对象创建完毕,可以把他的引用(地址)发布到外部,在外部就可以使用这个引用操纵这个对象(当然,由于指令的重排序,发布对象可能在构造函数返回之前,详细看。都是分配内存,调用clone方法时,分配的内存和源对象(即调用clone方法的对象)相同,然后再使用源对象中对应的各个域,填充新对象的域, 填充完成之后,clone方法返回,一个新的相同的对象被创建,同样可以把这个新对象的引用发布到外部。

2023-04-03 16:12:51 1301 2

原创 Java的可变类与不可变类

什么是不可变对象(immutable object),不可变对象有什么好处,在什么情况下应该用,或者更具体一些,Java的String类为什么要设成immutable类型?不可变对象,顾名思义就是创建后不可以改变的对象,典型的例子就是Java中的String类。

2023-04-03 16:09:04 636 1

原创 Java static关键字

在类中,使用 static 修饰符修饰的属性(成员变量)称为静态变量,也可以称为类变量,常量称为静态常量,方法称为静态方法或类方法,它们统称为静态成员,归整个类所有。

2023-04-03 14:59:36 82

原创 贪心算法入门

在学习算法设计与分析的课程中,我发现贪心算法与其他算法相比具有一定的特殊性。特此将一些自己的想法和理解记录下来,供复习所用。

2023-03-20 21:14:38 405 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除