欢迎来到毕设资料网! | 帮助中心 毕设资料交流与分享平台
毕设资料网
全部分类
  • 毕业设计>
  • 毕业论文>
  • 外文翻译>
  • 课程设计>
  • 实习报告>
  • 相关资料>
  • ImageVerifierCode 换一换
    首页 毕设资料网 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    设计模式课程设计---画图程序

    • 资源ID:1399745       资源大小:46KB        全文页数:8页
    • 资源格式: DOC        下载积分:100金币
    快捷下载 游客一键下载
    账号登录下载
    三方登录下载: QQ登录
    下载资源需要100金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

    设计模式课程设计---画图程序

    1、 设计模式课程设计设计模式课程设计 题题 目:目: 画画 图图 程程 序序 学学 院:院: 信息科学与技术学院信息科学与技术学院 专专 业:业: 软件工程软件工程 学学 号:号: 姓姓 名:名: 1需求分析 该系统是一个画图程序,我们要用设计模式的思想来设计系统结构,然后实现基 本图形的绘制功能。 1.1 设计模式要求 至少在其中运用 6 种模式,其中创建、结构和行为模式都要涉及到 1.2 画图基本要求 能实现基本图形的绘制功能 1.3 画图高级要求 实现图形的操作(如选取、移动、放大、缩小、改变颜色、改变线形等)和持久 化(利用文件或利用数据库) 。 2.系统设计 首先,画图程序可以实现绘制

    2、圆形、矩形和按钮,这里可以将圆形、矩形和 按钮看作三个不同的类,那么我们可以采用抽象工厂的方式来创建它们。对于画 组合图,我们可以采用组合模式将二者结合起来。而对于图形颜色或者粗细的改 变,我们可以使用外观模式。然后,我们可以使用原型模式来实现对于最后一个 图形的复制。在系统中可以使用代理模式来实现显示图片。下面是对需要用到的 设计模式进行的分析。 2.1 使用设计模式 2.1.1 抽象工厂模式 首先,在该系统中,我们使用一个类:Element 类来保存画图的元素。该类 保存了图形的类别,起始点,长度、宽度,颜色和边界大小的。 我们将圆形(CCircle 类) 、矩形(CRec 类)和按钮(C

    3、Button)看作是不同的 类,它们都有一个父类:Paint 类。Paint 类提供了创建具体对象的判别依据的 接口,由具体的类来完成判断。抽象工厂类(AbstractFactory 类)提供了创建 各个类的对象的接口,由具体工厂(Factory 类)来创建具体的类的对象。 具体实现代码如下: 抽象图形: public abstract class Paint public Element e; public abstract int GetPaint(); public abstract void Operation(Paint p,int n); 具体图形圆: public class C

    4、Circle : Paint public override int GetPaint() return 1; public override void Operation(Paint p,int n) throw new NotImplementedException(); 矩形类和按钮类类似。 抽象工厂类如下: public abstract class AbstractFactory public abstract Paint CreateCircle(); public abstract Paint CreateRec(); public abstract Paint CreateBu

    5、tton(); 具体工厂类如下: public class Factory : AbstractFactory public override Paint CreateCircle() return new CCircle(); public override Paint CreateRec() return new CRec(); public override Paint CreateButton() return new CButton(); 2.1.2 享元模式 为了将所画的图的所有信息保存起来,我们采用向量将每个对象保存起来。 但每个类都有每个类的特点,那么在这里我们就可以使用享元模

    6、式了。定义一个 以 Paint 的对象为元素的的 List, 每当画一个图的时候, 就让这个 List 把这个 Paint 元素加进来。虽然圆形、矩形和按钮是不同的类,但他们都继承于 Paint 类的, 那么使用享元模式(享元类为:FlyWeight)就不会出错了。 具体代码实现如下: public class FlyWeight public List paintInfo = new List(); void AddPaint(Paint a) paintInfo.Add(a); 2.1.3 装饰模式 在该系统中,我们要对选中的图形进行加粗,可以使用装饰模式来实现。我 们定义一个抽象装饰类(Decorator 类) ,它提供了对图形进行操作的接口。具 体的进行画图宽度设置的装饰类(DecoratorBold 类)完成加装饰和减装饰的操 作。 具体代码实现如下: publi


    注意事项

    本文(设计模式课程设计---画图程序)为本站会员(毕***)主动上传,毕设资料网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请联系网站客服QQ:540560583,我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们
    本站所有资料均属于原创者所有,仅提供参考和学习交流之用,请勿用做其他用途,转载必究!如有侵犯您的权利请联系本站,一经查实我们会立即删除相关内容!
    copyright@ 2008-2025 毕设资料网所有
    联系QQ:540560583