您的位置:首页 > 其它

Smart L 中的设计模式

2016-02-28 21:14 323 查看
From: Smart L

每个人都是初学者 - Keven

新的一年,事情总是很多。事情在多也需要时不时的跳出某一个圈子去读一些书,感受一下不一样的风景。

所以就抽空读了一本设计模式的书籍,叫图说设计模式,之前对与C++属于半吊子水<也许只是刚入门>,完全依靠的C基础开始,没有真正的去了解过C++。。那么为啥要去研究这本书呢,当然跟Smart L客户端有关系,想要不断的将架构优化就得去了解设计模式背后的故事,也许很多C++,MFC,Qt,程序员总是习惯性的将设计和架构混为一谈,其实是不对的。设计是设计,架构是架构。你新建了一个窗体,上面放置了一个按钮,当你仅仅只是知道去将这个按钮的样式以及颜色去美化,并去填充它的Click事件的时候,那么你也仅仅只是一个初入门的C++程序员。

也许有的人总是习惯性的认为程序员不就是干这些的吗?画窗体,拉按钮,做美化。No.. 只会这些远远不够资格(我就属于入门级别)。

我们更应该关注你使用的button类是怎么实现的?我怎么去实现重载? 我每申请的一块空间去那里了?我的程序为什么不能很好的进行扩展?

很多人都说C++难,但是缺并不知道难在哪里?

我觉得有以下几点:

1、不理解设计模式 - 所谓编程思想(很多人只会说C++不就是面向对象么,我也是面向对象。呵呵)

2、还是指针 - 指针的理解决定了你代码的质量

3、泛型编程模式 - 容器类的便捷

如果初学者能理解以上三点,那基本上可以算是入门了。

*第一点*:设计模式,也许是由于教学的原因,亦或是很多人觉得第一点不重要,百分之80的初学者对第一点都很模糊。。不理解设计模式的后果很严重 - 你根本不知道为啥这么用?百分之80的人只会copy,不看手册,各种百度,且不善于总结。然后就是各种拉控件,凑功能,代码风格混乱,命名规则奇葩,也就是简单粗暴。有的人写完后,都不知道自己写的是什么?为啥这么写? 有的人甚至没有去怀疑?

第二点:指针,指针在C里面的重要程序不需我去说明。C++同样也不需去说明。

第三点:泛型编程模式,C++和C最大的区别其实就在于第三点了。设计模式是通用的,不分语言。

那么什么是泛型编程模式呢?我们在C里面编程的时候,通常叫把实现某一个功能块的组成称之为 函数 ,把实现某一个功能块的组织叫过程,故而C是面向过程。

在__Cplusplus中,我们把实现某一个功能块给单独细化出来,称之为一个对象,而泛型编程模式则是实现对象功能的框架,我们称之为标准容器库。有组织有纪律的将对象进行功能封装形成模版。然后供我们进行二次开发使用。

设计模式的时间表

1990年 - 软件工程界开始关注ChristopherAlexander等在这一住宅、公共建筑与城市规划领域的重大突破。

1991-1992 - “四人组(Gang of Four,简称GoF,分别是Erich Gamma, Richard Helm, Ralph Johnson和John Vlissides)”自称的四位著名软件工程学者。

1994 - 四人组归纳发表了23种在软件开发中使用频率较高的设计模式,旨在用模式来统一沟通面向对象方法在分析、设计和实现间的鸿沟。

1995 - GoF将收集和整理好的23种设计模式汇编成Design Patterns: Elements of Reusable Object-Oriented Software【《设计模式:可复用面向对象软件的基础》】一书,该书的出版也标志着设计模式正式成为面向对象(Object Oriented)软件工程的一个重要研究分支。

**。

如何在自己的架构中采用某种设计模式呢?

当我们着手去设计一个产品的时候,我们首先会想到什么?

By: Keven - 点滴积累
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: