DreamCatcher Yan

  • Blog
  • Category
    • 数据结构与算法
    • 信息安全与ctf
    • 生活
    • 其他
    • ICS
    • 软件构造
  • Jupyter
  • About
软件构造
软件构造

如何设计复用性较好的类?

代码复用的几个级别: - 源代码级别的复用 - 模块级别的复用(类/抽象类/接口) - 库级别的复用(API) - 系统级别的复用:框架 白盒复用:源代码可见、可扩展、可修改 黑盒复用:源代码不可见,只可调用API 找源代码的几个网站: grepcode.com github.com searchcode.com 本文主要介绍模块级别的复用——类/接口 复用一个类的方式——继承、委托 继承 继承时,子类将继承父类的所有功能。 子类可以override父类的功能,也可以在父类的基础上,增加新的功能。 在实现继承类之前…

2021年7月4日 0条评论 189点热度 1人点赞 阅读全文
软件构造

两种重要的图——Snapshot diagram & UML diagram

Snapshot diagram (代码快照图) 用于描述程序运行时的内部状态,包括堆和栈的调用。 刻画各类变化随时间的变化,描述各类概念如:原始类型/对象类型,不可变对象/可变对象,引用别名 刻画基本类型的值:直接用一个箭头指向它。 刻画对象类型的值:用圈圈起来,再用一个箭头指向它,在圈的里面有一个label来标识它的类型。圈的内部可以包含类的各个属性(基本类型/对象类型),一个箭头由属性的名字指向属性的值。 不可变对象的值用双线椭圆来表示,如String,下图中s所指向的String对象就发生了改变。 可变对象…

2021年6月28日 0条评论 257点热度 1人点赞 阅读全文
软件构造

通俗理解checked Exception和unchecked Exception

首先放一张Java异常层次结构图: 错误(Error)和异常(Exception)是不同的。 Error(错误):是程序无法处理的错误,表示运行应用程序中较严重问题。大多数错误与代码编写者执行的操作无关,而表示代码运行时JVM(Java虚拟机)出现的问题。例如,Java虚拟机运行错误(Virtual MachineError),当JVM不再有继续执行操作所需要的内存资源时,将出现OutOfMemoryError。这些异常发生时,Java虚拟机(JVM)一般会选择线程终止。 Exception(异常):是程序本身可以…

2021年6月19日 0条评论 222点热度 0人点赞 阅读全文
软件构造

Testing and Test-First Programming

Testing levels Unit testing 单元测试 测试某一小部分代码的正确性,尤其是测试某个函数。 Integration testing 集成测试 The combined execution of 2 or more classes, packages, components, subsystems that have been created by multiple programmers or programming teams. System testing 系统测试 测试一整个已经集成好…

2021年6月6日 0条评论 149点热度 0人点赞 阅读全文
软件构造

软件构造的视图与质量指标

软件构造的实质:Transformation between different views(不同视图之间的转换) Multi-dimensional software views 按阶段分:build and run-time views 按动态性分:moment and period views 按构造对象的层次分:code and component views Transformation between different views Nothing -> Code Code -> Component B…

2021年6月4日 0条评论 151点热度 0人点赞 阅读全文
软件构造

Maven学习笔记

Maven的基本概念 Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information. 使用Maven可以方便地进行项目依赖管理、打包、…

2021年5月22日 0条评论 124点热度 1人点赞 阅读全文
软件构造

Eclipse中Git的使用与Junit单元测试的编写

目录 - 新建项目 - 添加项目到Git - 复习Git命令行操作 - 在eclipse中使用git的基本操作 - 在eclipse中使用git push - eclipse中Junit的使用 新建项目 首先在eclipse中新建一个Java project,取名为ExamplePrj。 注意在创建项目时可以选择项目路径、JRE版本,这里我们都选择默认设置。然后直接Finish。 这里默认会创建一个module-info,直接取默认名字,Create即可。 这一步仍然点击默认的open。 创建成功,在Package…

2021年5月21日 0条评论 164点热度 3人点赞 阅读全文

DreamCatcher Yan

Make it a better world.

分类目录
  • ICS
  • 信息安全与ctf
  • 其他
  • 数据结构与算法
  • 生活
  • 软件构造
最新 热点 随机
最新 热点 随机
Sentinel圣天诺加密狗简单使用教程(Linux) pwntools连gdb一例 通过系统调用open来查看flag 64位传参利用方法&LibcSearcher使用入门&ROPgadget利用 字符串格式化漏洞修改GOT表一例 pwn入门-PLT表与GOT表、libc入门
一个write和printf混用的例子 回顾2020 openssl解析RSA公钥(利用工具处理RSA) Introduction to Automata Theory, Languages, and Computation部分习题解答 Testing and Test-First Programming 无法上外网又需要同步Gradle

COPYRIGHT © 2020 DreamCatcher Yan. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS

苏ICP备2020067253号