- 博客(0)
- 资源 (7)
- 收藏
- 关注
PHP设计模式
导言
当你在不断的试图从你的应用程序中发现新的特征时,你是否发现你提出的解决方法和一些以前你已经实现的东西是如此的类似呢?如果你是一个程序员(即使你才 开始很短的时间),你都可能回答“是”。这看起来就是你使用了一些以前的代码来解决软件开发过程中新发现的问题了。你可能已经认识到:你的解决方法是基本 原理,是一个不仅仅是你而且是所有专业开发者都能广泛重复应用的方法。
事实上,许多程序问题都不断的反复的遇到,而且许多用来解决这些问题的基本方法(或者说是设计模式)都已经浮现出来。设计模式就是一个教你如何利用真实可靠的设计来组织你的代码的模板。
设计模式历史
“设计模式”这个术语最初被设计用于建筑学领域。Christopher Alexander 在他1977的著作“A Pattern Language :Towns/Building/Construction”里面描述了一些常见的建筑学设计问题,并解释了如何用这些已有的,著名的模式集合来开始全新 的有效的设计。Alexander的观点被很好的转化到软件开发上来,并且长期的合意的用原有的组件来构造新的解决方案。
所有的设计模式都有一些常用的特性:一个标识(a name),一个问题陈述(a problem statement)和一个解决方案(a solution)。
1、一个设计模式的标识是重要的,因为它会让其他的程序员不用进行太深入的学习就能立刻理解你的代码的目的(至少通过这个标识程序员会很熟悉这个模式)。?
2、问题描述是用来说明这个模式的应用的领域。?
3、解决方案描述了这个模型的执行。一个好的设计模式的论述应该覆盖使用这个模型的优点和缺点。?
一个模式是解决特定问题的有效方法。一个设计模式不是一个库(能在你的项目中直接包含和使用的代码库)而是一个用来组织你的代码的模板。事实上,一个代码库和一个设计模式在应用上是有很多不同的。
比如,你从店铺里面买的一件衬衫是一个代码库,它的颜色,样式和大小都由设计师和厂商决定,但它满足了你的需求。
然而,如果店里面没有什么衣服适合你,那你就能自己创建自己的衬衫(设计它的形状,选择布料,然后裁缝在一起)。但是如果你不是一个裁缝,你可能会发现自 己很容易的去找一个合适的模式然后按着这个模式去设计自己的衬衫。使用一个模型,你可以在更少的时间内得到一个熟练设计的衬衫。
回到讨论软件上来,一个数据提取层或者一个CMS(content management system)就是一个库——它是先前设计好而且已经编码好了的,如果它能准确的满足你的需要那它就是一个好的选择。但如果你正在读这本书,可能你会发现 库存的(原有的)解决方案并不是总是对你有效。至今你知道什么是你所要的,而且你能够实现它,你仅仅需要一个模型来引导你。
最后一个想法:就象一个裁缝模型,一个设计本身而言是没有什么用处的。毕竟,你不可能穿一个服装模型——它仅仅是由很薄的纸拼凑起来的。类似的,一个软件设计模型也仅仅只是一个引导。它必须根据程序设计语言和你的应用程序的特点和要求而特别的设计。
本书的目标
本书的目的不是为了全面的介绍各种类别的软件设计模式,也不是为了发展一个新的设计模式或者术语,而是为了突出介绍一些已有的著名的设计模式。这本书的 独特之处在于介绍了一些我认为对开发动态WEB应用程序很有帮助的设计模式,而且用PHP语言显示了如何实现这些设计模式。
面对对象编程OOP
这本书一个优点就是所有的观点都是基于OOP这种很自然的设计模式,并且用OOP来实现。
2013-06-09
C++编程规范
br>C++编程规范:101条规则、准则与最佳实践 <br><br>【原 书 名】 C++ Coding Standards: 101 Rules, Guidelines, and Best Practices <br>【原出版社】 Addison Wesley/Pearson <br>【作 者】(美)Herb Sutter, Andrei Alexandrescu <br>【译 者】 刘基诚 <br>【丛 书 名】 图灵程序设计丛书 <br><br><br>【内容简介】<br>在本书中,两位知名的C++专家将全球C++界的集体智慧和经验凝结成一套编程规范。这些规范可以作为每一个开发团队制定实际开发规范的基础,更是每一位C++程序员应该遵循的行事准则。书中对每一条规范都给出了精确的描述,并辅以实例说明;从类型定义到错误处理,都给出了最佳的C++实践。即使使用C++多年的程序员也会从本书中受益匪浅。 <br>本书适合于各层次C++程序员使用,也可作为高等院校C++课程的教学参考书。<br>良好的编程规范可以改善软件质量,缩短上市时间,提升团队效率,简化维护工作。在本书中,两位全世界最受尊敬的C++专家将全球C++界的集体智慧和经验凝结成一整套编程规范。这些规范可以作为每一个开发团队制定实际开发规范的基础,更是每一位C++程序员应该遵循的行事准则。.<br>本书涵盖了C++程序设计的方方面面,包括设计和编码风格、函数、操作符、类的设计、继承、构造与析构、赋值、名字空间、模块、模板、泛型、异常、STL容器和算法等。书中对每一条规范都给出了言简意赅的叙述,并辅以实例说明;书中还给出了从类型定义到错误处理等方面大量的C++最佳实践,包括许多最新总结出的和标准化的技术,即使使用C++多年的程序员也会从中受益匪浅。<br>■通过阅读本书,可以找到以下问题的答案:..<br>■哪些东西值得标准化?哪些东西不值得标准化?<br>■使代码可扩展的最佳方法是什么?<br>■合理的错误处理策略有哪些要素?<br>■如何(和为什么要)避免不必要的初始化、循环依赖和定义依赖?<br>■何时应该(以及如何)同时使用静态和动态的多态性?<br>■如何实践“安全的”改写(override)?<br>■何时该提供不会失败的交换(swap)?<br>■为什么要阻止异常跨越模块边界传播?如何阻止?<br>■为什么不应该在头文件中写名字空间声明或指令?<br>■为什么应该使用STL vector和string代替数组?<br>■如何选择正确的STL搜索算法?<br>■为了保证代码的类型安全,应该遵从哪些规则?
2013-06-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人