
软件设计
文章平均质量分 51
「已注销」
多给任务点时间,多写写博客
展开
-
软件设计笔记(九)- 面向对象程序设计 - 7
2.1.5 对象间的协作与信息交换对象协作的本质就是对象间的信息交换的问题,体现为对象之间的相互访问 相互存取字段/属性 相互调用方法// 1 在统一对象内部信息交换// 2 主1->从1,对象信息传送// 通过从的引用,调用从的公有属性、公有方法// 3 从1->主1,对象信息传送// 3.1 主通过阻塞的办法(比如,模态对话框)获取从...原创 2018-04-20 22:52:08 · 209 阅读 · 0 评论 -
软件设计笔记(四)- 面向对象程序设计 - 2
1.3.4 接口鸭子是一种鸟,会游泳,同时又是一种食物 分析:两个IS-A关系,应该是两个继承关系 问题:C#/Java不支持多继承;会游泳放在哪里呢? 只能放在Duck里面;但是,还是有鸟类会游泳的,也有鸟类会作为食物。 该怎么解决或者描述这个现实问题呢?使用接口 鸭子继承鸟类,同时实现IFood、ISwim接口。可食用的鸟都应该实现IFood接口,会游泳的...原创 2018-04-13 20:57:39 · 165 阅读 · 0 评论 -
软件设计笔记(十一)- 面向对象程序设计 - 9
5.4 设计模式软件设计的总结,是一种参考答案,是重用经验建筑模式 -> 设计模式(GoF)5.4.3 Builder模式创建型设计模式,使用多个步骤,分步地创建一个对象举例:StringBuilder,Append、Insert、Remove、Replace都有多种重载形式,最终利用toString()得到字符串应用:装配电脑5.4.4 Factory...原创 2018-04-30 16:05:21 · 220 阅读 · 0 评论 -
软件设计笔记(八)- 面向对象程序设计 - 6
2.1.3 对象序列化与反序列化保存对象的媒介:流和字符串 一串有序的二进制数据,包含一个读写指针。比如,java和c#要想访问一个文件,必须创建一个流对象对文件进行访问。// C#, 不研究C#,代码略// 使用流实现序列化/反序列化// 1 二进制序列化,// 2 XML序列化应用:大批地复制对象 先将对象序列化到内存流,然后将流的读写指针移动到开头,开...原创 2018-04-18 19:34:56 · 205 阅读 · 0 评论 -
软件设计笔记(七)- 面向对象程序设计 - 5
2.1.2 对象的复制对象的浅复制,shallow copy,简单的字段拷贝 对简单的类已经足够 不足:对具有组合关系的类,shallow copy在处理引用类型的时候,会出现复制后的对象和源对象引用同一份数据,但是我们希望复制后,与源对象之前是彼此独立的。// sourceclass MyClass{ public int MyClassValue=100;...原创 2018-04-18 16:16:01 · 192 阅读 · 0 评论 -
软件设计笔记(三)- 面向对象程序设计 - 1
参考资料: 面向对象软件开发实践之基本技能训练——北京理工大学 因是复习课程,所以会省略一些已经熟悉的知识,如果你看见只有标题,那么就是这种情况1.3.1 类和对象1.3.2 对象和对象变量1.3.3 继承补充知识,UML类图六种关系1 2 + realize,空心三角+虚线, A实现B,B在C++中用抽象类表示,在java中大部分情况用接口表示 ...原创 2018-04-12 13:22:24 · 288 阅读 · 0 评论 -
软件设计笔记(六)- 面向对象程序设计 - 4
1.3.7 对象销毁C++,程序员显式销毁对象,delete java/C#,由虚拟机自动完成,garbage collection 析构方法通常用于清理非托管资源,文件系统、数据库连接、网络 建议,在开发中不要重写C#和Java的析构方法,应该让CLR/JVM负责 在C#中,非要显式回收资源,可以利用Disposable模式来解决这个问题(不用C#,此处略)2...原创 2018-04-17 18:30:31 · 158 阅读 · 0 评论 -
软件设计笔记(五)- 面向对象程序设计 - 3
1.3.5 多态 三个层次 + 生物上的多态:狗有很多品种,具有多态性 + 面向对象理论中的多态:同一操作用于不同的类的实例,不同的类讲进行不同的解释,最后产生不同的结果 + 编程角度:同样的程序语句,在不同的上下文环境中可能得到不同的运行结果// exampleAnimal animal = new Dog(); // 不同上下文animal.bite()...原创 2018-04-14 12:00:59 · 171 阅读 · 0 评论 -
软件设计笔记(十)- 面向对象程序设计 - 8
5.1 软件设计设计有好有坏糟糕的设计僵化设计 —— 无法响应新的需求 写死文件路径UI控件写死提供数据源的字段数据库表增加一个新的字段,N处地方需要修改错弱设计 —— 不敢对软件进行改动无法重用 迁移到其他系统过于复杂的设计 python能干,用c++写想得过多,过度设计用这个模式吧,刚刚学过指导原则(整体设计4个原则)重用前人的设计经验(D...原创 2018-04-21 22:50:11 · 245 阅读 · 0 评论