程序开发基础学习一(uml设计)

        今天到新公司第二天,复习一下uml设计,总结一下。写代码就如写文章,需要一个大概的纲领和结构。uml图有两种类别范畴,结构图和行为图。通过uml图可以很清晰看出类的成员属性,方法,类与类之间的关系。把类的基本属性和类与类的基本关系梳理清楚了。才可以写出易扩展,更稳定的程序。同时其他别人也可以通过uml图很清晰的看出代码设计结构,类与类之间的关系。下面说一下常用的几种关系图。

        1、继承关系


很明显,BlackDuck和RedDuck是Duck的子类。

        2、聚合

聚合的意思是说Wheel类离开Car类可以独立存在,为什么这样说呢?首先汽车都需要轮子,当然了未来的汽车不好说。。。。。。。,但是买轮子的店里,轮子可以独立存在。这样说有点模糊,看下代码。

class car
{
public:
	wheel theWheel;
};

class wheel
{
	
};


        3、组合


对于组合的理解就是说,Duck和DuckEgg有相关的时序性问题,比如说鸭子蛋还在鸭子肚子里,还没生出来。鸭子就死了,这时鸭子在死亡的时候就要将鸭子蛋销毁了,这个状态下的鸭子蛋是不能独立存在的。而超市的鸭蛋和鸭子的关系就可以表示为聚合。看代码。

class Duck
{
public:
	DuckEgg theEgg;

};

class DuckEgg
{

};

        组合是表示一种整体和部分的关系,同样为鸭子和鸭蛋,但不同状态下,他们的关系就不一样。这也同时说明具体问题具体分析,我写这个总结只是想说明白uml常用几个序列图而已。

        4、依赖


依赖是一种比较弱的组合关系,比如说汽车要加汽油,调用汽油的一种方法,这时就要能找到Gas这个类。代码如下:

#include "Gas.h"

class car
{
public:
	SetCarGasVolue(Gas theGas);
};

        5、关联


单向关联

单项关联表示player知道dog的存在,player可以调用dog的所有属性和方法。并且没有生命周期的依赖,意思说player知道dog的存在,但是不负责dog的构造和销毁。具体代码表示为player类里包含dog的指针引用。代码如下:

class player
{
public:
	dog* m_dog;
};

class dog
{

};

双向关联

双向关联就是player和dog相互可以调用对方的所有公共属性和方法。player和dog相互认识,代码表现为player和dog相互有对方的指针引用。代码如下:

class player
{
public:
	dog* m_dog;
};

class dog
{
public:
	player* m_ower;
};

        6、时序图

时序图主要表示一个过程的图,上图是第一个步骤是玩家将自己信息发到gameserver,第二步gameserver去db查询,第三步db返回gameserver结果,gameserver验证后第四部返回给客户端结果。

        常用的uml图就这些,用类图和序列图可以表达自己的设计思路即可。

参考文章:http://blog.csdn.net/dylgsy/article/details/1076044

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
UML对象设计与编程》系统地阐述了对象技术的基本概念,详细讲解了统一建模语言(UML)、对象类(Class)和对象实例(Instance)、关联(Aaaociation)和继承(Inheritance)、对象替代和多形性、静态和动态模型、需求和应用事例分析、事件序列图、抽象类和界面、包装和部件等内容。全面介绍了20多种对象设计样式(Pattern)及其实际应用。内容从入门到精通,博大深入,涵盖最新的面向对象技术,如持久对象(Persistent Objects)与关系数据库(RelationalDatabase)、分布式对象(Distributed Objects,CORBA)、界面设计(Inteface Design)、可扩充标记语言(XML)、网上应用系统等。同时,透彻讨论了各种大规模系统结构,作者力图通过本书的教学把读者从开发人员提升到设计师的水平。 《UML对象设计与编程》共分九章,以统一建模语言(UML)图解式表述内容。作者身处信息技术前沿,积累了深厚的实践经验,书中丰富的图片和大量来自现实项目的设计案例,融会贯通,举一反三,可帮助读者迅速、深刻领会面向对象设计的精髓。本书不使用特定的编程语言,但书中所有对象设计都可直接用于C++,Java,Visual Basic,IDL等语言,使读者能置身程序语言之上,进行系统和规划,提高自身的软件专业水平。第一至第七章附有大量习题,第九章给出了完整答案,方便读者总结、复习和提高。 《UML对象设计与编程》既可作为高等院校计算机科学与技术专业相关课程教材,也可作为广大计算机程序开发人员自学指导书和技术参考书。本书让读者一书在手,终身受惠,是软件编程人员的好良伴。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值