首页 > 其他 > 详细

设计模式 概论

时间:2019-11-24 21:39:12      阅读:73      评论:0      收藏:0      [点我收藏+]

最近在看设计模式,可是市面上的书都是基于java写的,可能是第一Java有面向对象编程的特性,同时还具有良好的可学习性(就是不用过度关心底层的原理),但是我是一点都没对java感兴趣,因此,在设计模式在个系列中,我将基于c++写设计模式,哈哈哈哈,虽然内容一样,面向对象特性一样,但是我偏要写c++,嘿嘿。

这篇是概论,那么就意味着,我们要来阐述一下,基本框架和原则。

设计模式存在的意义是什么,就是为了规范大家写的代码,不至于后面要改就得全改,重构就要全部推翻,维护更是看的不知道啥是啥的,简单地说,就是避免写出代码屎山,恶心自己,还恶心别人,哈哈哈哈哈,虽然我没少干过,嘿嘿。

那么,我们在写代码的时候,总体最好需要遵循几个基本原则:

1.高内聚,低耦合:这个是为了,后期改内容改需求的时候不会让代码产生巨大的变化(重写),高内聚是说一个模块内的各个元素的彼此结合的紧密程度要高,简单地说,一个模块就只能专注在一件事上,别没事这也能干,那也能干的,回头一改,傻了,啥都要改,因此别没事把什么玩意都往一个类中塞,又臃肿又难改。那么,低耦合则是说,不同模块之间的联系要少,不能几个模块互相用来用去的,这样的话,改就是几个模块一起改,极端的说,代码量一大就是看几十个buffer来回改来改去的,累死自己。

  综上,高内聚,低耦合说的其实是类似搭积木的过程,每一个积木都要结结实实的(紧密联系),同时一个一个积木往上搭且注意不要把重心放在特定的积木上,这样动一发而动全身不好,不稳定。

2.面向抽象编程:实际点说,当我们写了一个类,比如哈士奇类,我现在想要写秋田,傻了,没有,得重写一个秋田类,这样就是浪费自己时间了,但是我们可以写个狗类,这样无论是写哈士奇,还是秋田,我只需要写个对象引用狗类(注意我没说是继承,为什么第三点会说),加他们各自得特性就好了,快,同时一个不爽,删了这个对象就完事了。

3.少继承,多组合:继承意味着啥玩意我都拿过来了,万一我只是想要一朵菊花,继承就会把各种玫瑰,茉莉什么的都给我甩过来了,没必要,同时,过度继承将会使我们代码看起来异常臃肿,来回继承,不好,对此,我们要多用组合得方式,什么意思呢,就是比如我想要A类的B函数,我们可以在C类中初始化一个A类,直接用就好了。这样,我们还能简洁自己的代码,美滋滋。

4.允许扩展,拒绝修改:这个是说,当我们已经写过一个A模板了,现在要在A中加B功能,不要在A中直接改,调用A模板,写B功能,因为你自己写自己的就好了,别乱来,这样各自维护各自的,不出事。

 

目前来说,设计模式一般是按目的来说的,一般分为:创建型模式,结构型模式,行为型模式,具体的后面谈,哈哈哈哈,顺着写呗。

 

设计模式 概论

原文:https://www.cnblogs.com/zzydaydayup/p/11924136.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!