西西河

主题:【原创】编程心得 -- 荆棘探兴

共:💬198 🌺258
全看树展主题 · 分页首页 上页
/ 14
下页 末页
家园 深有同感……
家园 是的,很多UI库其实都在借鉴网页的思想

比如iPhone上著名的three20库(facebook是开发者),就将诸如stylesheet,layout,shape等抽象出来,将其应用于构建UI。

Qt上貌似也有QStylesheet,QVerticalLayout之类的玩意。

再比如,url映射也很实用。将controller与某个url绑定,用来实现导航,或者其他目的,简化了很多代码,看起来也更整洁。

家园 TCPL的作者是c++的创始人。

TCPL应该是传统C++领域最权威得教程了。

家园 我一直把Interface理解成老板

在Java的世界里面,外面的人都只认识老板(Interface),而不认识员工(实现类),要做什么就直接找对应的老板。

至于Abstract Class,那是干点活的小老板。

当然也有例外,ArrayList这个小员工,由于事情干的好,而且出色,就没多少人认识他的老板List了。

和人生很像啊。

家园 啊,就是TCPL!我以前看的就是那本书,总想不起名字来

看了这个缩写不认识,搜了一下,唉,勾起多少往年学习C++的回忆啊。当时我是毕业以后到一个公司,先把我们这些应届生捉去培训了三个月,其中C++就是TCPL教材的,感觉这本书非常合适学习C++。

狠狠的通宝+花谢!

家园 很多未入门的经常以“太模式”来反对设计模式,甚至

有时候其实他自己练面向对象都还没掌握。

很多东西就是这样,你得先走火入魔,才能深入浅出,一般人不是天才,没有这些磨练,怎么能学得会这种实践性的功夫呢。

家园 这本书对我影响很大

我之所以走上现在的职业道路,和这本书大有关系,呵呵。

我在学校时候买了这本书的中英文两个版本,然后一直随身带着,从武汉到南京再到成都,然后回南京最后到杭州,跟着我转战千里啊,呵呵。

家园 模式不是为用而用

是为了解决某些问题。不是开始编程了就在想,今儿个我要用啥模式呢?而是今儿个我碰上了问题,这该怎么办呢?学了模式,就能了解某个模式大概是为了解决什么问题的。某类问题碰上得多了,有经验了,那个时候才可以还没有编程就考虑模式了。

家园 编程需要理解设计模式

就我的心得,所谓模式编程,就是先设计好数据结构,然后围绕着数据结构去构建程序。做一个任务实际上就分析处理流程,按处理流程的工序分出功能块。然后针对功能块设计数据结构,再围绕数据结构编写一组函数。最后完成的系统就是功能函数簇的串接。按照这样的思维,C语言也可以写出面向对象的程序。面向对象的语言,其实就是从编程机制上固化上述的设计模式。

而与此对应的,是很多人的编程,其实就停留在处理流程分解上,函数就是不停的分解流程,越来越细,虽然可以将相同或相似的功能合成同一个函数,但是因为没有数据结构这个基础,这种合并往往没有条理性,甚至合并的函数内再通过代入的参数来用switch分出很多的分支。这样的程序,没有统一的数据结构基础,因此可能公用变量到处乱飞,写一段程序,要记住n多的变量,因此很多程序员经常会说:“别急,让我编完这段再去吃饭,要不然就忘了”。如果能够理解设计模式的真谛,就绝对不会出现上面的那些现象,可以在任何时候合上电脑去干别的事情,然后回来接着编。

设计模式编程,不单是干活轻松,而且会给自己积累一堆的工具库,工作时间越长积累就越多。一个10年的程序员绝对不单比年轻人的编程速度快好几倍,更厉害的是,通过这些积累,更可以编写那些年轻人根本编不出来的程序。

还有,我很奇怪,编C程序,能有错误找不出来这一说。只有干不出来的任务,没有调不出来的程序。任务只要变成了程序,下面就是体力活,C语言的错误,说起来复杂,其实也就那么几种,而最主要的就是内存溢出。其实如果大学时学好了计算机原理和数据结构,脑子中有一个数据空间的概念,还真没有什么不能调出来的。

家园 模式无需套用,在实际项目中用到的模式

大部分都是23个模式的变形或组合。当你反复理解这些标准模式后,开发项目时最好状态是心中无模式,就像用键盘打字熟练后,你不用想哪个字母在哪里?

家园 哈哈,说的好

好象古龙同学的小说。

场景:面世中

人物:面试官(面),大侠(侠)

对话:

面:知道什么是模式吗?

侠:知道

面:模式的23种变化你都会?

侠:我不知道

面:不知道?

侠:心中无模式,何必知道。随手捻来,即可变化组合

。。。

面:你被录取了。

家园 你是好同志,要花!

这本书也是我入门C++的领路人,感觉非常好!不过当时我用的是盗版的(公司自己复印的英文本,但是其中的英文非常浅显易懂),以后呢,我连书名字也忘记了。。。只记得作者名字的大概

尤其是以后看过其他的C++书以后,更觉得这本的好了。

家园 非常同意

如果把模式天天挂在口边,反而使刚刚入门的

家园 说到编程,除了C++和java,最新的热门语言会是什么?

go?Ruby?python虽然成熟些但太脚本化了。。。。

家园 最新编程语言排名

前二十名编程语言排名如下:

点看全图

外链图片需谨慎,可能会被源头改

主要语言的长期变化趋势图如下

点看全图

外链图片需谨慎,可能会被源头改

其实语言并不重要,关键是编程思想。

全看树展主题 · 分页首页 上页
/ 14
下页 末页


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河