自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小何才露尖尖角

记录软件开发知识

  • 博客(17)
  • 资源 (11)
  • 收藏
  • 关注

原创 结构型设计模式(2):桥接模式

动机 有些时候一个抽象应该有不同的实现,比如,保存数据时有两种方式,一种是文件方式,一种是数据库方式,通常的做法是继承保存数据的类,然后实现不同的保存方式。这样做的问题就是难于修改和扩展保存方式,运行时无法切换保存方式。 定义 桥接模式是软件设计模式中最复杂的模式之一,它将事物的抽象部分与它的实现部分分离,使它们都可以独立地变化。 如“圆形”、“三角形”归于抽象的“形状”之

2013-04-17 16:14:28 1142

原创 结构型设计模式(1):适配器模式

定义 适配器模式(英语:adapter pattern)有时候也称包装样式或者包装。将一个类的接口转接成用户所期待的。一个适配使得因接口不兼容而不能在一起工作的类工作在一起。 有两类适配器模式: 1. 对象适配器模式 - 对象适配器通过关联满足用户期待接口,还降低了代码间的不良耦合。在工作中推荐使用“对象适配”。 2. 类适配器模式 - 这种适配器模式下,适配器继承自已实现的类

2013-04-17 16:13:10 1016

原创 创建型设计模式(7):对象池模式

定义 一个对象池是一组已经初始化过且可以使用的对象的集合,池的用户可以从池子中取得对象,对其进行操作处理,并在不需要时归还给池子而非销毁它。 若初始化、实例化的代价高,且有需求需要经常实例化,但每次实例化的数量较少的情况下,使用对象池可以获得显著的效能提升。从池子中取得对象的时间是可预测的,但新建一个实例所需的时间是不确定。 实现 1. Reusable -

2013-04-17 16:11:28 2885

原创 创建型设计模式(6):原型模式

定义 原型模式是创建型模式的一种,其特点在于通过“复制”一个已经存在的实例来返回新的实例,而不是新建实例。被复制的实例就是我们所称的“原型”,这个原型是可定制的。 原型模式多用于创建复杂的或者耗时的实例,因为这种情况下,复制一个已经存在的实例使程序运行更高效;或者创建值相等,只是命名不一样的同类数据。 实现 1. Client - 创建一个新的对象,然后通过cl

2013-04-16 14:25:04 893

原创 创建型设计模式(5):建造者模式

定义 又叫生成器模式,它可以将复杂对象的建造过程抽象出来(抽象类别),使这个抽象过程的不同实现方法可以构造出不同表现(属性)的对象。 当创建复杂对象的算法应该独立于该对象的组成部分时,而且构造过程必须允许被构造的对象有不同的表示时。我们可以考虑使用建造者模式。 实现 1. Builder为创建一个Product对象的各个部件指定抽象接口。通常包含创建产品和返回产

2013-04-16 14:23:28 921

原创 创建型设计模式(4):抽象工厂模式

定义 抽象工厂模式提供了一种方式,可以将一组具有同一主题的单独的工厂封装起来。在正常使用中,客户端程序需要创建抽象工厂的具体实现,然后使用抽象工厂作为接口来创建这一主题的具体对象。客户端程序不需要知道(或关心)它从这些内部的工厂方法中获得对象的具体类型,因为客户端程序仅使用这些对象的通用接口。抽象工厂模式将一组对象的实现细节与他们的一般使用分离开来。 “工厂”是创建产品(对象)的地

2013-04-16 14:19:31 806

原创 创建型设计模式(3):工厂方法模式

动机 创建一个对象往往需要复杂的过程,所以不适合包含在一个复合工厂中,当有新的产品时,需要修改这个复合的工厂,不利于扩展。 而且,有些对象的创建可以需要用到复合工厂访问不到的信息,所以,定义一个工厂接口,通过实现这个接口来决定实例化那个产品,这就是工厂方法模式,让类的实例化推迟到子类中进行。 目的 1. 定义一个接口,让子类决定实例化哪个产品。 2. 通过通用接口创建对象

2013-04-15 14:20:38 905

原创 创建型设计模式(2):简单工厂模式

动机 简单工厂模式是抽象工厂和工厂方法的基础和初步实现。 目的 1. 不向客户透露对象实例化的细节。 2. 通过通用接口创建对象。 实现 实现非常简单: 1. Client需要Product时,不使用new来创建,而是提供 Product 描述给Factory,让 Factory 提供一个新的 Product 。 2. Factory实例化一个Product

2013-04-15 11:31:26 953

原创 创建型设计模式(1):单例模式

动机 有时候只有一个类的实例是很重要的。比如,一个系统应该只有一个窗口管理实例。 单例模式是最简单设计模式:类负责实例化自己,确保只有一个实例,并且提供一个访问这个实例的入口。 目的 1. 确保只有一个实例被创建。 2. 提供访问这个实例的入口。 实现 使用final确保被创建一次,private的构造函数确保不被实例化。public的getInsta

2013-04-15 10:46:46 1073

原创 设计模式原则(6):迪米特原则

迪米特法则(Law of Demeter)又叫作最少知识原则(Least Knowledge Principle 简写LKP),就是说一个对象应当对其他对象有尽可能少的了解,不和陌生人说话。英文简写为: LoD. 不和陌生人说话,就是说只和朋友说话,那么什么是朋友呢? 1. 类中的函数。 2. 类中函数的参数。 3. 函数中实例化的对象。 4. 类的成员变量。 5. 类知道的全

2013-04-12 14:08:06 1091

原创 设计模式原则(5):接口隔离原则

定义:客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上。 就是说,“不应该强迫客户依赖于它们不用的方法。”再通俗点说,不要强迫客户使用它们不用的方法,如果强迫用户使用它们不使用的方法,那么这些客户就会面临由于这些不使用的方法的改变所带来的改变。 我们先看一个违反接口隔离的例子: public interface IWorker { public void

2013-04-12 14:07:01 1001

原创 android4.2源码下载编译过程

1. 下载安装64位ubuntu11.10。 2. 执行sudo passwd root生成root密码,(10.04版需要修改)修改/etc/gdm/gdm.schemas文件中的: bin,root,daemon,adm,lp,sync,shutdown,halt,mail,news,uucp,operator,nobody,nobody4,noaccess,postgres,pv

2013-04-11 21:08:02 3776 1

原创 设计模式原则(4):开闭原则

定义:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。 对扩展开放,意思就是可以对类、模块和函数添加新的功能。 对修改关闭,意思就是扩展时最好不要修改原来的类和函数等。 下面的例子来自 http://www.oodesign.com/open-close-principle.html 先是一个不好的例子:  class GraphicEditor { publi

2013-04-11 21:01:06 1017

原创 设计模式原则(3):依赖倒置原则

定义:高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。 具体到Java中就是“面向接口编程”。 例子: 违法依赖倒置的情况 public class Student { public void read(Book book){ System.out.println("学生开始阅读:"+book.getName()); } } pub

2013-04-11 14:07:10 817

原创 设计模式原则(2):里氏替换原则

里氏替换原则:所有引用基类的地方必须能透明地使用其子类的对象。 意思就是说,一个地方引用了父类,程序可以正常运行,如果把引用父类的地方换成子类,这个程序也应该能够正常运行。 例子: public class Rectangle { int width; int height; public Rectangle(int w, int h){ width = w; heig

2013-04-10 14:39:54 935

原创 设计模式原则(1):单一职责原则

单一职责原则:一个类,只有一个引起它变化的原因。 为什么需要单一职责原则? 如果一个类有多个原因要去修改它,那么修改一个功能时,可能会让其他功能产生Bug,所以一个类最好只有一个职责。但实际应用中还是比较难实现的,我们只能是尽量符合这个原则。 例子: public class Task { public File downloadFile(String path){

2013-04-09 17:53:30 792

原创 类的6大关系:依赖,关联,聚合,组合,泛化,实现

1. 依赖,Dependency,虚线+箭头(箭头指向依赖的对象) 从字面上理解就是,一个类中的方法的实现依赖另外一个类,主要描述的就是类与类之间的使用关系。 Java中依赖的对象以局域变量、方法的形参,或者对静态方法的形式出现。 比如:学生类中有一个读书方法,这个方法需要一个书的对象,可以是方法的局部变量,也可以是参数。 2. 关联,Association,实线+箭头(箭头指向关

2013-04-08 16:36:30 1489

masm5 汇编编译和连接工具

masm5 汇编编译和连接工具,解压到目录,然后命令行到这个目录,执行masm 1.asm就可以编译文件了。

2012-12-13

DOS622磁盘镜像

DOS622的磁盘镜像,包含3个文件,安装的时候依次选择

2012-12-13

计算机软件测试规范(值得看看)

计算机软件测试规范 计算机软件测试规范

2009-03-18

测试资料(包含测试用例、工具等)

测试资料,包含测试用例、测试工具、测试报告等文档。

2009-03-13

测试报告编写指南 软件测试

测试报告编写指南 测试报告编写指南 测试报告编写指南

2009-02-23

软件性能测试过程详解与案例剖析 软件测试

软件性能测试过程详解与案例剖析软件性能测试过程详解与案例剖析软件性能测试过程详解与案例剖析软件性能测试过程详解与案例剖析

2009-02-23

系统测试方案 系统测试方案

系统测试方案系统测试方案系统测试方案系统测试方案系统测试方案系统测试方案

2009-02-23

测试员培训速成教材 软件测试书籍,可以下载来看看。

软件测试书籍,可以下载来看看。软件测试书籍,可以下载来看看。

2009-02-23

help & manual 制作中的常见5个问题

第一次用help & manual,琢磨了几个星期,才有点了解。对于背景、链接文本等设置,也是用了相当长的时间才弄明白。弄明白后觉得挺容易,但开始不熟时,尤其是对这软件不熟的情况下使用,难度就大多了。我把我解决这几个问题的方法写下来,希望对需要用的人有帮助。

2009-01-12

软件测试与教训(pdf)

想对测试有更多的了解,那就下载来看看吧。

2009-01-07

空空如也

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

TA关注的人

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