自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

刘伟技术博客

专注软件架构、设计模式、重构、UML和OOAD!

  • 博客(11)
  • 收藏
  • 关注

原创 《设计模式》一书PPT浏览及下载地址

微博地址: http://weibo.com/csusunny          为了给大家浏览与下载提供方便,现将《设计模式》一书PPT的下载地址(百度文库)公布如下(可直接在线浏览,也可免费下载,):      第1章 统一建模语言基础知识 http://wenku.baidu.com/view/a892f64fe45c3b3566ec8b07.html?st=1      第2章 面向对象设

2012-08-13 23:36:23 30040 11

原创 深入浅出UML类图(五)

实例分析3——售票机控制程序      某运输公司决定为新的售票机开发车票销售的控制软件。图I给出了售票机的面板示意图以及相关的控制部件。图I   售票机面板示意图      售票机相关部件的作用如下所述:      (1) 目的地键盘用来输入行程目的地的代码(例如,200表示总站)。      (2) 乘客可以通过车票键盘选择车票种类(单程票、多次往返票和座席种类)。      (3) 继续/取

2012-08-08 14:50:59 18254 18

原创 深入浅出UML类图(四)

实例分析1——登录模块      某基于C/S的即时聊天系统登录模块功能描述如下:      用户通过登录界面(LoginForm)输入账号和密码,系统将输入的账号和密码与存储在数据库(User)表中的用户信息进行比较,验证用户输入是否正确,如果输入正确则进入主界面(MainForm),否则提示“输入错误”。      根据以上描述绘制初始类图。     参考解决方案:      参考类图如下:

2012-08-08 14:43:09 37043 17

原创 深入浅出UML类图(三)

类与类之间的关系(2)      2. 依赖关系      依赖(Dependency)关系是一种使用关系,特定事物的改变有可能会影响到使用该事物的其他事物,在需要表示一个事物使用另一个事物时使用依赖关系。大多数情况下,依赖关系体现在某个类的方法使用另一个类的对象作为参数。在UML中,依赖关系用带箭头的虚线表示,由依赖的一方指向被依赖的一方。例如:驾驶员开车,在Driver类的drive()方法中

2012-08-08 14:34:30 57736 18

原创 深入浅出UML类图(二)

类与类之间的关系(1)      在软件系统中,类并不是孤立存在的,类与类之间存在各种关系,对于不同类型的关系,UML提供了不同的表示方式。      1. 关联关系      关联(Association)关系是类与类之间最常用的一种关系,它是一种结构化关系,用于表示一类对象与另一类对象之间有联系,如汽车和轮胎、师傅和徒弟、班级和学生等等。在UML类图中,用实线连接有关联关系的对象所对应的类,在

2012-08-08 13:23:41 47222 43

原创 深入浅出UML类图(一)

在UML 2.0的13种图形中,类图是使用频率最高的UML图之一。Martin Fowler在其著作《UML Distilled: A Brief Guide to the Standard Object Modeling Language, Third Edition》(《UML精粹:标准对象建模语言简明指南(第3版)》)中有这么一段:“If someone were to come up to

2012-08-08 12:18:30 121374 34

原创 抽象外观类的单例化分析与改造

有博友留言问“抽象外观类是否能设计为单例类?”,为了能够更全面地回答这个问题,并且为大家在进行面向对象系统设计和实现时提供更多思路,加深对外观模式和单例模式的理解,特写此文。       关于外观模式的基本知识我在此就不介绍了,大家可以参考之前有关外观模式的几篇文章。本文所使用的示例代码如下(此处采用一种特殊的包含@Stereotype的注释在源代码中标注模式角色,目的是在逆向工程生成的UML类图

2012-08-05 15:06:31 4062 1

原创 算法的封装与切换——策略模式(四)

24.4 策略模式的两个典型应用      策略模式实用性强、扩展性好,在软件开发中得以广泛使用,是使用频率较高的设计模式之一。下面将介绍策略模式的两个典型应用实例,一个来源于Java SE,一个来源于微软公司推出的演示项目PetShop。      (1) Java SE的容器布局管理就是策略模式的一个经典应用实例,其基本结构示意图如图24-3所示:【每次看到这个LayoutManager2接口

2012-08-01 17:08:48 18507 29

原创 算法的封装与切换——策略模式(三)

24.3 完整解决方案      为了实现打折算法的复用,并能够灵活地向系统中增加新的打折方式,Sunny软件公司开发人员使用策略模式对电影院打折方案进行重构,重构后基本结构如图24-2所示:      在图24-2中,MovieTicket充当环境类角色,Discount充当抽象策略角色,StudentDiscount、ChildrenDiscount和VIPDiscount充当具体策略角色。完

2012-08-01 16:56:27 18701 7

原创 算法的封装与切换——策略模式(二)

24.2 策略模式概述      在策略模式中,我们可以定义一些独立的类来封装不同的算法,每一个类封装一种具体的算法,在这里,每一个封装算法的类我们都可以称之为一种策略(Strategy),为了保证这些策略在使用时具有一致性,一般会提供一个抽象的策略类来做规则的定义,而每种算法则对应于一个具体策略类。      策略模式的主要目的是将算法的定义与使用分开,也就是将算法的行为和环境分开,将算法的定义

2012-08-01 16:44:31 24590 16

原创 算法的封装与切换——策略模式(一)

俗话说:条条大路通罗马。在很多情况下,实现某个目标的途径不止一条,例如我们在外出旅游时可以选择多种不同的出行方式,如骑自行车、坐汽车、坐火车或者坐飞机,可根据实际情况(目的地、旅游预算、旅游时间等)来选择一种最适合的出行方式。在制订旅行计划时,如果目的地较远、时间不多,但不差钱,可以选择坐飞机去旅游;如果目的地虽远、但假期长、且需控制旅游成本时可以选择坐火车或汽车;如果从健康和环保的角度考虑,而且

2012-08-01 16:14:36 26511 11

空空如也

空空如也

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

TA关注的人

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