福尔摩斯探案集中有一个很有名的故事,案件中最引人关注的一点是“案发当晚狗没有叫”。“狗没有叫”这点非常引人关注,因为这暗示出狗一定认识凶手。
大多数人在阅读时并没有真正提取文章所表达的完整意义。作者往往会在文章提供故事情节或信息。而最重要的信息往往与这些情节或信息无关。如果你只是关注情节,你就会漏掉其他信息。如果你的头脑中没有能够赋予这些信息以意义的框架或概念,你就无法看到其他信息。
你读到某些类型的犯罪活动减少了。你开始思考一些可能性:
“是犯罪的倾向性降低了吗?”
“是警察工作更出色了吗?”
“是由于报案之后没有任何结果,导致人们不报案了吗?”
“是犯罪的分类系统改变了吗?”
体会字里行间的言外之意和从信息中提取完整“推理”并非易事,不过这能够成为习惯。然后你发现在自己的头脑中存储了能够用于各种不同场景的有用信息。
模式是假设的更复杂形式。你的头脑中可能有关于经济或细胞膜的模式。你构建与已知数据相适应的模式,然后你在头脑中或计算机中运行这个模式,并观察会发生什么情况。这有助于你更好地了解可能发生的情况,还能帮助你做出预测,并检验这些预测。模式是这样运行的——让我们看一下真实的世界是否也是这样运行的。模式提供信息,不过我们是模式的构建者。模式还能够显示我们对系统的影响,然后我们试验这个模式,看看它是否可行。
你永远无法证明你的模式是真实或唯一可能的模式。你最多只能说你的模式符合我们对这个问题的全部认识,这个模式能够提供有用的结果。其他模式也能做到这点。作为自组织的信息系统,大脑中的神经网络的运行模式使正式的水平思考技能得以产生。然后这些技能开始独立运行。
总结
何为模式?指事物的标准样式。模式是主体行为的一般方式,包括科学实验模式、经济发展模式、企业盈利模式等,是理论和实践之间的中介环节。模式是否与现象的本质相合,则必须在认识过程中逐渐检验和修改,以便逐渐得到正确的认识。
互联网金融通信行业,软件有23种设计模式,何为设计模式?设计模式即Design Patterns,是指在软件设计中,被反复使用的一种代码设计经验。使用设计模式的目的是为了可重用代码,提高代码的可扩展性和可维护性。
为什么要使用设计模式?根本原因还是软件开发要实现可维护、可扩展,就必须尽量复用代码,并且降低代码的耦合度。设计模式主要是基于OOP编程提炼的,它基于以下2个原则:
1) 由Bertrand Meyer提出的开闭原则(Open Closed Principle),指软件应该对扩展开放,而对修改关闭。意思是在增加新功能的时候,能不改代码就尽量不要改,如果只增加代码就完成了新功能,那是最好的。
2) 由Barbara Liskov提出的里氏替换原则,这是一种面向对象的设计原则,即如果我们调用一个父类的方法可以成功,那么替换成子类调用也应该完全可以运行。
设计模式把一些常用的设计思想提炼出一个个模式,然后给每个模式命名,这样在使用的时候更方便交流。23个常用模式分为创建型模式、结构型模式和行为型模式三类。
学习设计模式,关键是学习设计思想,不能简单地生搬硬套,并意识到设计模式不是万能的。
有了设计模式,各行业的软件开发工程师就可以根据前辈们总结的开发经验,充分利用开发方面的信息。