自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 软件构造——接口到底有什么用?

软件构造——接口到底有什么用?这篇文章是我早就想写的了。我们都知道,Java的接口是一个很好的提高复用性的手段,也就是说,我们可以采取很多种不同的实现方式来实现一个接口。但是,不同的实现方式到底有什么好处?Talk is cheap,just show code.这一次用来举例的,是Collection中的List。Oracle提供的List的Javadoc如下:public interface List<E> extends Collection<E>An orde

2020-07-10 23:32:52 424

原创 软件构造笔记3

软件测试与测试优先的编程1. Software testing提高软件质量的重要手段软件测试确认软件是否达到可用级别, 关注系统的某一侧面的指令特性。但即便是最好的测试也不能确保程序100%无错误。我们使用残留缺陷率(测试后每1000行代码中的错误)典型工业软件:1-10高质量验证:0.1-1非常好,严格安全性的验证:0.01-0.1 如NASA或者Praxis公司...

2020-07-09 00:46:47 141

原创 软件构造笔记2

1.2 软件构造的质量目标软件系统的质量特性:外在与内在的合格因素重要的外在合格因素合格因素之间的折中五个关键的软件构造qualify;便于理解:elegant and beautiful code/ understandability方便修改:maintainability and adaptabilityCheap for develop:design for/ with...

2020-07-09 00:46:21 181

原创 软件构造笔记1

软件构造1.1 软件构造中的多维视图三个维度看软件系统的构成按阶段划分:构造时/运行时视图按动态性划分:时刻/阶段视图按构造对象层次划分:代码/构建视图软件构造就是视图的转换软件应该是一个模块化的结构软件开发需要经过六个流程:planninganalysisdesignimplementationtesting & integrationmain...

2020-07-09 00:46:01 391

原创 软件构造博客——关于一道复习题的思考

软件构造博客——关于一道复习题的思考近日复习的过程中,同学给我发了这样的一道题:问题的C选项很有趣,一个不可变的类是否可以派生出可变的类?单纯看答案,其实很简单:当然不行。如果不可变的类派生了一个可变的子类,那么就一定会违反Liskov原则。我们讨论的关键点在于这个说法:按照这个说法,一个不可变的类是不可继承的。我从我自己的角度想了一下。为什么要这么说?是因为防止子类修改了某个对象,向上转型以父类的形式传递。我之前提出了一个观点,那就是,如果我们声明子类的时候,显性的说明该子类为一个不可变类

2020-07-09 00:45:32 157

原创 基于一个quiz的思考

在今天的SC课上,老师提出了这样的一个问题:这个问题的BCD选项没有疑问,但是针对A选项,Template是否可以为interface,我们可以通过编写代码来进行验证:public interface OrderProcessTemplate { //Template method default void processOrder() { doSelect(...

2020-04-22 11:58:54 224

空空如也

空空如也

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

TA关注的人

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