UML设计指导书(rational-rose)

  • 更新时间:
  • 1505人关注
  • 点击下载

这是一个不错的UML设计类学习资源,由邓寄春提供,主要知识点是关于UML设计、UML设计的内容,已被122人关注,同类资源中评分为7.6分。

精选笔记:用代码和UML图化解设计模式之桥接模式的深入分析

6小时44分钟前回答

桥接模式就是 独立和实现相分离。
不同的厂家生产不同的产品。。。。产品和厂家有这组合的关系。

上代码

复制代码 代码如下:

// Bridge.cpp : 定义控制台应用程序的入口点。
/************************************************************************/  
#include "stdafx.h"
#include <iostream>
using namespace std;
class Product
{
public:
 Product(){}
 virtual ~Product(){}

 virtual void make()=0;
 virtual void sell()=0;
};
class ProductA:public Product
{
public:
 ProductA(){}
 virtual ~ProductA(){}
 virtual void make()
 {
  cout<<"ProductA:make()"<<endl;
 }
 virtual void sell()
 {
  cout<<"ProductA:sell()"<<endl;
 }
};
class ProductB:public Product
{
public:
 ProductB(){}
 virtual ~ProductB(){}
 virtual void make()
 {
  cout<<"ProductB:make()"<<endl;
 }
 virtual void sell()
 {
  cout<<"ProductB:sell()"<<endl;
 }
};
class Corp
{
public:
 Corp(Product* pro)
  :m_product(pro)
 {}
 virtual ~Corp()
 {
  delete m_product;
 }

 virtual void process()
 {
  m_product->make();
  m_product->sell();
 }
private:
 Product *m_product;
};
class CorpA:public Corp
{
public:
 CorpA(Product * pro) :Corp(pro){}
 virtual ~CorpA(){}
 virtual void process()
 {
  cout<<"CorpA():process()"<<endl;
  Corp::process();
 }
};
class CorpB:public Corp
{
public:
 CorpB(Product * pro) :Corp(pro){}
 virtual ~CorpB(){}
 virtual void process()
 {
  cout<<"CorpB:process()"<<endl;
  Corp::process();
 }
};
int _tmain(int argc, _TCHAR* argv[])
{
 Product* product;
 product = new ProductA;
 Corp * corp ;
 corp = new CorpA(product);
 corp ->process();
 cout<<"----------"<<endl;
 product= new ProductB;
 corp = new CorpB(product);
 corp->process();
 return 0;
}
生产和厂家都是独立实现,充分给了自由。。。。
ok 今天就到这里。。。。继续学习

展开阅读
精选笔记:IDEA怎么生成UML类图的实现

20小时58分钟前回答

最近在开发的过程当中,对于已有的代码,想将相关类绘制成UML类图,虽然现在有很多UML类图的优秀软件,比如ProcessOn(可视化编辑)、draw.io(可视化编辑)、PlantUML(代码生成),其实看到这里我就想IDEA中有没有像PlantUML一样的自动生成的插件,本着怀疑的态度百度了一下,果然IDEA还是很强大的,这个插件都是自带的,接下稍微讲述如何利用IDEA生成UML类图的教程。

说之前先说一下Diagram这个单词,意思是图表; 示意图; 图解; [数] 线图的意思。

  • 打开设置 File->Setting或windows下按Ctrl+Alt+S
  • 在搜索框中输入Diagram,如下图:

如上所示,我们主要关心的只有Java Class Diagrams下面的几个单选框,分别对应红字部分,一般的UML类图只需要知道成员变量、构造器和方法(前面三个),其他的随意,设置好了之后我们就来演示一下,

  • 选择需要的类文件,在编辑器中打开它
  • Ctrl + Shift + Alt + UCtrl + Alt + U或右键选择,生成类Uml关联图,如下图:

上面的是类的UML图,下面的support包的UML图:

局限性:虽然这个很是方便,但是也有他自己的局限性,首先这个功能只能是根据类来自动生成的,所以对于设计类的时候就不行了,还是需要正规的UML图软件,还有就是对于专业的UML软件来说,这种自动生成的东西可能表达并不是非常的准确直观,特别是对于UML图有严格要求的人来说,显得格外重要。

到此这篇关于IDEA怎么生成UML类图的实现的文章就介绍到这了,更多相关IDEA 生成UML类图内容请搜索码农之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持码农之家!

展开阅读

相关资源

  • UML统一建模实用教程

    UML统一建模实用教程

    《UML统一建模实用教程》是一本关于UML统一建模的实用教程,对UML体系结构、UML元素语义、语法和UML应用进行了详细的讲解,表述通俗易懂,同时配备大量的实例加以说明,便于自学。全书共分3篇15章。第1篇介绍了UML语言的特点、UML语言的体系结构、UML组成元素、UML包含的图形种类、UML图的表示方法、UML图的作用、UML的应用领域和建模方法等;第2篇介绍了RUP统一过程及UML的应用、UML工具RationalRose的使用;第3篇以图书管理系统为例,介绍了系统开发的各

    大小:5.47 MB建模教程

    立即下载
  • 面向对象软件工程:使用UML、模式与 Java

    面向对象软件工程:使用UML、模式与 Java

    《面向对象软件工程:使用UML、模式与Java(第3版)》由b.bruegge和a.h.dutoit编写的,是卡耐基梅隆大学(cmu)高年级本科生和研究生的教材。在第3版本中,作者以循序渐进的方式给出一个完

    大小:59.5 MB面向对象

    立即下载

学习笔记

18小时42分钟前回答

IDEA怎么生成UML类图的实现

最近在开发的过程当中,对于已有的代码,想将相关类绘制成UML类图,虽然现在有很多UML类图的优秀软件,比如ProcessOn(可视化编辑)、draw.io(可视化编辑)、PlantUML(代码生成),其实看到这里我就想IDEA中有没有像PlantUML一样的自动生成的插件,本着怀疑的态度百度了一下,果然IDEA还是很强大的,这个插件都是自带的,接下稍微讲述如何利用IDEA生成UML类图的教程。 说之前先说一下Diagram这个单词,意思是图表; 示意图; 图解; [数] 线图的意思。 打开设置 File-Setting 或windows下按 Ctrl+Alt+S 在搜索框中输入 Diagram, 如下图: 如上所示,我们主要关心的只有Java Class Diagrams下面的几个单选框,分别对应红字部分,……

15小时56分钟前回答

用代码和UML图化解设计模式之桥接模式的深入分析

桥接模式就是 独立和实现相分离。 不同的厂家生产不同的产品。。。。产品和厂家有这组合的关系。 上代码 复制代码 代码如下: // Bridge.cpp : 定义控制台应用程序的入口点。 /************************************************************************/ #include "stdafx.h" #include iostream using namespace std; class Product { public: Product(){} virtual ~Product(){} virtual void make()=0; virtual void sell()=0; }; class ProductA:public Product { public: ProductA(){} virtual ~ProductA(){} virtual void make() { cout"ProductA:make()"endl; } virtual void sell() { cout"ProductA:sell()"endl; } }; class ProductB:public Product { public: ProductB(){} virtual ~ProductB(){} virtual void make() { cout"ProductB:make()"endl; } virtual void sell() { c……