毕业设计第六天_UML的学习(关于设计模式的一些想法)

系列文章目录


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录


前言

        关于UML的学习,越到后面就越抽象,就好像直接说建设美丽中国一样抽象,非常难受。


一、设计模式的简单理解或者说介绍

        模式就是应对一种问题的时候,专家总结出来的一些方法或者结论。举个例子,比如汽车的轮胎,为什么用圆的而不用方的,因为经过大佬们的一些想法总结出来这种东西,这种模式,轮子圆的和其他的形状都要好,轮胎用这种材料比其他的都要好一点点。我们不但可以用这种方法来解决一些常见的问题,也可以通过一种被广泛大众接受的模式进行交流。就像我们之间说,轮子你很容易就知道是圆形,那么我就不需要再过多描述就能达到想法比较高度的一致

        总到来说,模式有两种好处,第一种就是可以被用来解决比较大众的问题,第二种就是可以更好的和别人进行交流

二、六种模式的介绍

1.单实例模式

        定义:一个类只有一个实例,且该类能自行创建这个实例。

        实现方式:私有化构造函数,私有化成员,对外开放一个接口。

        意义:节约内存,保证数据内容的一致性。

        一开始我最不明白的就是这个模式。我很疑惑,这在干嘛。回过头来看才明白,大概四人帮也就是(gong of four)他们想说这么一件事情,就是一般创造一个类,并且这个类可能很少人用或者说这类只用一个对象的时候,再或者你不知道怎么规定公有或者私有的成员(不管是成员对象还是成员函数)的时候,你就这么干吧,让结构函数私有,成员私有,对外开放一个接口就好。

2.适配器

        定义:转接器。在相互接口不兼容,再具体一点就是说带多态的时候如果不兼容,那么就用一个虚拟类来让他们兼容。

        实现方式:额外设计一个虚拟类来使功能对接。

        意义:使原本不能够一起工作的东西一起工作

        很好理解,但是我认为这个东西还是比较难做到,对于我们这些喜欢抄别人代码的人最了解这个事情了。有时候你想用别人的东西,你起码得了解一些,什么得懂基本原理才可以让两个难以一起工作的人工作。就像翻译器一样,如果翻译器不懂两边的语言,你啥也做不了。

3.外观模式

        定义:为自己的程序能够实现的功能对用户提供一个接口。

        实现方式:在UI层建设一个虚拟类

        意义:降低系统之间的耦合性或者说对外提供一个一致的接口。

        这个和控制器的里面很像,和适配器的做法很像,和隔离变化的想法也很接近。

4.观察者模式

        定义:如果一种类是一对多的依赖关系,让多个类倾听一个类的变化信息。我们那个单独的类在变化的时候,对通知所有的依赖类,让他们自己更新自己。

        实现方式:在被观察者里面有一些用户的列表,发送就好了。

        意义:主要就是虚拟类,让两边都依赖于抽象的好处。

         给出这种方案罢了。也侧面提倡具体类先依赖抽象类。

5.策略模式

        定义:行为和算法分离,选择实现

        实现方式:让算法实现一个接口

        意义:避免使用难以维护的多种条件选择语句

        让算法和业务独立出来,让各种单独算法也独立。(关于多种条件判断语句坏处的理解

6.工厂模式

        定义:定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。

        实现方法:用户对工厂进行描述,工厂制作产品给客户。

        意义:用户只需要知道相关的品牌产品告诉工厂,工厂就可以实现产品的生产,并且因为是抽象类产品可以随便添加。

        产品有两个标识吧,一个是厂家,一个是产品类型,比如华为是厂家,手机是产品类型,客户定义了厂家和产品类型,工厂就产生产品。(再多理解理解


总结

        模式的提出,首先要说出一个名字,再次就是描述模式的解决的一个问题,然后就是模式提出一个解决方案,最后还要给出这个模式的一些缺点和应用后果,就像企业方案书一样。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

所有的努力都是为了能更好的睡觉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值