- 博客(9)
- 收藏
- 关注
原创 软件构造之面向可维护性的构造技术
基于状态的构造技术使用有限状态机来定义程序的行为、使用状态来控制程序的执行,根据当前状态,决定下一步要执行什么操作、执行操作之后要转移到什么新的状态。这种情况下在ADT内部自行管理状态的转换,需要大量的if-else同时在ADT的方法中,也需要根据当前状态做各种判断if-else,采取不同的行为。下面介绍基于自动机的编程:其核心思想是将程序看做是一个有限状态自动机,侧重于对其“状态”及“状态转换”的抽象和编程。在这种设计下,程序的执行被分解非一组自动执行的步骤,各步骤之间的通讯通过状态变量进行。程序执行可
2020-07-14 20:46:30 192
原创 软件构造之面向复用的设计模式
在临近期末考试之际,编写博客进行相关内容的回顾与复习设计模式除了类本身更强调多个类/对象之间的关系和交互过程。1.适配器模式将某个类/接口转换为client期望的其它形式,解决类之间接口不兼容的问题,通过增加一个接口,将已存在的子类封装起来,client面向接口编程,从而隐藏了具体子类。当希望将一个类转换为满足另一个新接口的类时,可以使用类的适配器模式,创建一个新类,继承原有的类,实一个抽象类Adapter现新的接口即可。当希望将一个对象转换成满足另一个新接口的对象时,可以创建一个新类,持有原类的
2020-07-06 09:22:57 227
原创 软件构造之面向可维护的构造设计模式
在临近期末考试之际,编写博客进行面向可维护的构造设计模式相关内容的回顾与复习1.工厂方法模式当client不知道/不确定要创建哪个具体类的实例,或者不想在client代码中指 明要具体创建的实例时,用工厂方法。 定义一个用于创建对象的接口,让该接口的子类型来决定实例化哪一个类,从 而使一个类的实例化延迟到其子类。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。优点:一个调用者想创建一个对象,只要知道其名称就可以了。扩展性高,如果想增加一个产品,
2020-07-04 00:19:21 187
原创 软件构造Lab3实验总结
2020年春季学期计算机学院《软件构造》课程可复用性和可维护性的设计:PlanningEntry· 23.2.1 PlanningEntry的共性操作··· 23.2.2 局部共性特征的设计方案··· 23.2.3 面向各应用的PlanningEntry子类型设计(个性化特征的设计方案)··· 23.3 面向复用的设计:R· 43.4 面向复用的设计:Location· 53.5 面向复用的设计:Timeslot· 53.6 面向复用的设计:EntryState及State设计模式··· 6
2020-05-20 09:34:19 474
原创 软件构造之面向复用的软件构造技术
为了更好地设计并完成Lab3,在此对第四章的知识点进行总结和理解。4.2本节从类、API、框架三个层面学习如何设 计可复用软件实体的具体技术1.设计可复用的类LSP原则:a.子类型多态:客户端可用统一的方式处理不同类型的对象Animal a = new Animal();Animal c1 = new Cat();Cat c2 = new Cat();在可以使用a的场景,都可以用c...
2020-04-27 00:02:43 312
原创 软件构造 可复用性的度量、形态与外部表现
软件构造第四章知识点总结为了更好地设计并完成Lab3,在此对第四章的知识点进行总结和理解。4.1Java提供了一种复用类的方法叫做继承,子类扩展了父类的属性/行为——此外,它们可能会覆盖父类的行为。委托就是当一个对象依赖于另一个对象的某个功能时(一个实体传递一些东西给另一个实体),明智的委托能够实现代码重用。白盒复用:源代码可见,可扩展和修改。复制已有代码到正在开发的系统,进行修改。可定...
2020-04-24 23:56:55 184
原创 软件构造Lab2总结
2020年春季学期计算机学院《软件构造》课程Lab2实验报告·· 13.1 Poetic Walks· 13.1.1 Get the code and prepare Git repository· 13.1.2 Problem 1: Test Graph · 23.1.3 Problem 2: Implement Graph · 33.1.3.1 Implement Concre...
2020-04-13 20:39:30 436
原创 软件构造Lab1总结
2020年春季学期计算机学院《软件构造》课程问题,训练基本Java编程技能,能够利用Java OO开发基本的功能模块,能够阅读理解已有代码框架并根据功能需求补全代码,能够为所开发的代码编写基本的测试程序并完成测试,初步保证所开发代码的正确性。另一方面,利用Git作为代码配置管理的工具,学会Git的基本使用方法。2 实验环境配置Eclipse,JDK8,Git,Junit4在假期未开课刚学...
2020-03-29 10:02:32 359
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人