- 博客(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
原创 软件构造过程与配置管理
这一章主要介绍了软件构造的大致过程,并重点介绍了软件构造过程中的版本控制系统。重点是大致了解软件开发生命周期,以及熟悉掌握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
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人