不要老谈“设计模式”

我这人特懒,从小到大都很讨厌文科(现在后悔了),写文章也很菜,虽然在女朋友鞭策下,比以前好了一点点。我个人崇拜老子的“道法自然”,它告诉我 们的就是凡事都有一个规律,你要“无违”,就是不要违反自然规律,一旦违反了,就会受到惩罚。第一次听到这个词的时候,就是因为这个词引起的,因为我不喜 欢学习《中国传统文化》,老逃课,然后挂了,就重修了。我们老师问我,为什么你们学计算机的人把这门课给挂了呢(一般老师都认为学习计算机的人聪明,因为 热门,考生分数高啊),我很生气的回答,“因为这门课没有用。”,老师急了,给我说“新加坡、日本治理国家和公司,用的理论就是孔子的思 想......”,后面的话没有记住,但是被老师的话震了一下,试着努力听这门课了。后来发现这门课挺有意思的,还朦朦胧胧听到老子的“道法自然”思想, 不过,我那会理解不了。初步体会到“道法自然”的含义是在我有女朋友之后。我犯错后,我女朋友肯定生气,她生气了肯定要我麻烦。后来,不快遇到多了,就慢 慢明白了,凡是做事违反规律的,必将受到处罚,于是我开始慢慢探索各种规律了。当然,包括编程之道。

 接下来我将谈一下关于“设计模式”。这年头,是个程序员,要是不知道“设计模式”,绝对被人鄙视孤陋寡闻。一时间,“设计模式”高手就是编程高手 了。对于一些刚学习编程的人,他们都乐于谈论关于“设计模式”,他们会津津乐道某个设计模式,并为在某些代码上发现了一个“设计模式”的妙用而兴奋。我这 人不怎么喜爱设计模式,因为我懒,要学习设计模式,我还得去学习设计模式的背景,太费脑子了,而且关键是我用不着!当然,我在这里不是要反对“设计模式 ”,我也大体的把设计模式的书粗略过了一下,不过能说上来并应用的也就工厂、适配器、迭代器模式了,更不清楚这么多模式他们之间的各种关联性等等。

 我在这里想说的就是,“设计模式”犹如精辟的剑招,每一种模式都能有效“克制敌人的某一个招数”。不过遗憾的是,我们很少遇到只拥有某一中招数的 敌人,我们经常遇到各种各样的敌人,他们使出各种各样的招数,即使我们完全学了所有设计模式,也难以招架。其实,大家在海阔天空谈论设计模式的时候,往往 容易忽略了设计模式的背景。在我看来,设计模式出现的原因是如果开发人员设计的程序比较僵硬,不自然,那么开发和维护就非常痛苦。由此,产生了面向对象的 设计原则。OOP最重要的原则就是SRP,即单一职责原则;其次是OCP原则,即开闭原则。你可以发现,基本上,每一个模式都很符合OOP的这些原则。设 计模式是在面向对象应用上面发展的必然结果,它追求程序变得更加”道法自然“,以避免开发人员受编程之苦。当你从面向对象学习起到开发很多项目之后,你也 会慢慢发现OOP原则和满足这些原则的设计模式的。如果一味的追求设计模式,而少了编程经验,根本无法体会面向对象的精髓,只能是硬着学一些招数而已。

 因此,我给高谈“设计模式”的人的建议就是:(1)C#\C++\Java中的每一个关键字你们都掌握了吗? 如果没有的话,赶紧行动,告诉你自己Override、Virtual、Private/Protected/Public...等关键字的意义,当你能 够娴熟使用这些关键字的时候,你算是初步了解了面向对象的基本要素了。(2)对接口的把握程度,”多重继承“是接口最没有意义的用处了,如果你只知道这层 含义,需要多做项目。(3)循序渐进,多做实践。在实践同时,你可以学习设计模式。通过设计模式,你可以给自己制定目标,就是你以后也可以发明类似的设计 模式。(4)道法自然,如果程序设计的看上去很自然,那这些程序就是好程序了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值