- 博客(11)
- 收藏
- 关注
原创 设计模式总结
设计模式总结Creational patterns 创建型模式Structural patterns 结构型模式Behavioral patterns 行为类模式一、创建型模式1)factory method工厂方法模式当client不知道要创建哪个具体类的实例,或者不想在client代码中指明要具体 创建的实例时,用工厂方法。定义一个用于创建对象的接口,让其子类来决定实例化哪一个类,从而使一个 类的实例化延迟到其子类。Client使用 “工厂方法” 来创建实例, 得到实例的类型是抽象接口
2020-07-11 22:00:00
923
原创 有关黑盒框架与白盒框架的学习有感(复习笔记二)
有关黑盒框架与白盒框架的学习有感(复习笔记二)对于黑盒框架与白盒框架的了解,首先要从委托以及继承这两个机制说起。一、继承Java提供了一种称为继承的代码重用方法的类扩展现有类的属性/行为,此外,它们可能会覆盖现有的行为,不需要提出只是转发或委托工作的虚拟方法,更好地捕捉真实世界,通常需要在实现之前设计继承层次结构。但通过继承这种方式得到的子类无法取消父类的属性或方法,因此必须小心,不要继承过多。除此之外,继承会使得代码的耦合度变得过高,因此继承的使用应该适当。继承通常使用extends来实现,并
2020-07-04 21:45:35
283
原创 对于AF、RI以及Rep exposure的心得体会(复习笔记一)
对于AF、RI以及Rep exposure的心得体会(复习笔记一)一、A与R先介绍两个空间:R: 表示值(rep值)的空间由实际实现实体的值组成。ADT将作为单个对象实现,但更常见的是需要一个小的对象网络,因此其值通常相当复杂。A: 抽象值的空间由类型设计为支持的值组成。它们是柏拉图式的实体,不存在如前所述,但它们是我们希望将抽象类型的元素视为该类型的客户机的方式。对于这两个空间,通俗易懂一点的讲,R为开发者所使用的空间,而A是客户所看到的空间。分别对应了代码端以及实际对象。引入一个规约进行举例
2020-06-30 20:32:31
453
原创 SpotBugs的插件安装与使用
SpotBugs的插件安装与使用一、SpotBugs的安装前段时间在实验中安装SpotBugs时,发现网上关于SpotBugs的安装教程并不多,或者说多但是不够详细,不足以让萌新一下就懂,在这里我为此做一下详细的介绍。首先打开eclipse:版本号都可以,为了演示没有大问题,我用了一个还没安装过SpotBugs的版本eclipse。按图中步骤,点击Install new Software;而后,打开了如下图所示的窗口,点击窗口右上的那个add,也就是work with的后面点开后,会出现
2020-06-09 21:05:18
2608
原创 Lab3因而起——对正则表达式的学习(二)
Lab3因而起——对正则表达式的学习(二)一、Pattern和Matcher一般来讲,比起String类,正则表达式的功能更为强大。对于正则表达式,可以通过java自带的包java.util.regax,将其导入之后,运用方法Pattern.compile()来编译创造的正则表达式。这个方法会根据输入的String类型的正则表达式生成一个Pattern对象,接下来,把想要检索的字符换传入Pattern对象的matcher方法,又会生成一个matcher对象,这个对象有很多功能。其中,replaceAl
2020-06-02 11:50:14
312
原创 Lab3因而起——对正则表达式的学习(一)
Lab3因而起——对正则表达式的学习(一)在本次lab3实验中的正则表达式部分,对于从没学过正则表达式的小伙伴来说,可以说是困难重重,而我恰好属于其中之一,课堂上对正则表达式的接触皮毛显然没能满足这次实验对我的要求,不多说,开始学习!一、正则表达式在java中,字符串操作主要集中于String,StringBuffer和StringTokenizer类,与正则表达式相比较,他们只能提供相当简单的功能。正则表达式是一种强大而灵活的文本处理工具。使用正则表达式,我们能能够以编程的方式构造更多复杂的文本
2020-05-28 20:50:34
311
原创 学习迭代器设计模式后的再学习
学习迭代器设计模式后的再学习任何容器类,必须有某种方式可以插入元素并将他们再次取回。例如,对于List,add是它的一个插入方法,而get是他的一个元素取出方法。但经过思考会发现问题,这样的话会有个缺点:要使用容器,必须对容器的确切类型编程,起初看来没什么不好。但假设一个程序原本对着list编程,后来却改为对set编程,怎么样才能显得更方便一些呢?如果有个容器,我们称之为容器C没有实现当前方法...
2020-05-06 19:46:53
126
原创 Mutability 与 Immutability的有关思考
Mutability and Immutability在java数据属性值进行改变时,有些类改变了它的具体指向,有些类改变了它具体指向的值:而改变一个变量、改变一个变量的值,二者有何区别?改变一个变量:将该变量指向另一个值的存储空间改变一个变量的值:将该变量当前指向的值的存储空间中写入一个新的值。1.Immutability 不变性不变数据类型:一旦被创建,其值不能改变。而实际上,其值...
2020-04-18 14:52:17
235
原创 有关传统软件开发方式的深入了解及其与XP极限编程的不同
有关传统软件开发方式的深入了解及其与XP极限编程的不同在软件开发的过程中,大致分为两种形式。一种是传统的软件开发过程,而另一种为敏捷开发过程。这两种虽然都为软件开发,但原理有着本质上的区别。一.浅谈传统软件开发模型传统软件开发模型主要分为瀑布模型、V-model模型、快速原型开发模型、增量模型以及螺旋模型等,在这五种模型的基础上,传统软件开发模型主要由线性推进以及递归推进两种形式进行(即5中...
2020-03-15 18:21:06
505
原创 有关UML图的深入研究学习
有关UML图的深入研究学习文章目录1.定义及概述2.图的种类3.学习总结一、定义及概述Unified Modeling Language是统一建模语言,又称标准建模语言。是用来对软件密集系统进行可视化建模的一种语言。UML的定义包括UML语义和UML表示法两个元素。UML是为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。二、图的种类如下图所示,截止UML1.5一...
2020-03-05 15:38:09
670
原创 深入理解计算机系统大作业 From Program to Process hello的一生
计算机系统大作业题 目 程序人生-Hello’s P2P 专 业 计算机科学与工程学 号 1181910504班 级 1803010学 生 倪煜昕 指 导 教 师 史先俊计算机科学与技术学院2019年12月摘 要本文介绍了hello在计算机系统中灿烂的一生,...
2020-01-01 14:05:14
694
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人