自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 面向可维护性的软件构造技术

通过构造一个抽象的Server类:AbstractServer,该抽象类中包含针对所有类型的Server都通用的代码,从而实现了对修改的封闭;当出现新的Server类型时,只需从该抽象类中派生出具体的子类ConcreteServer即可,从而支持了对扩展的开放。圈复杂度(Cyclomatic Complexity)、代码行数、可维护性指数(MI)、继承的层次数、类之间的耦合度、单元测试的覆盖度。例:如果有多种类型的Server,那么针对每一种新出现的Server,不得不修改Server类的内部具体实现;

2024-05-28 12:16:01 172

原创 抽象数据类型

R -> A 的映射:1. 满射:所有抽象值都要有一个rep value 2. 未必单射:一个抽象值可能有多个表示 3. 未必双射:不是所有的表示值都有对应的抽象值。生产器(Producer):从一个类型的旧对象创建一个新对象(如String中concat方法)观察器(Observer):返回一个不同类型的对象(如List中的size方法)表示不变性 RI:某个具体的“表示”是否是“合法的”(R -> boolean)变值器(Mutator):改变对象属性的方法(如List中的add方法)

2024-05-28 12:14:21 260

原创 Idea中的Junit4单元测试方法

在Setting中找到Plugins,在Marketplace中搜索Junit4,安装后点击Apply,重新启动Idea即可使用。

2024-05-07 18:03:33 326

原创 二维凸包问题

简单来说,可以想象在平面中有一些点,这些点的集合为 X,我们拿一个橡皮圈撑到最大,尝试套住所有的点,待橡皮圈绷紧后,它会成为一个多边形,这个多边形所有顶点组成的集合便为集合X 的凸包。如图:凸包计算有很多办法,我在本文讲解Graham 扫描法。

2024-03-25 17:11:30 712

空空如也

空空如也

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

TA关注的人

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