(一)设计模式之PHP项目应用(简介)

1 设计模式简介

设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的;设计模式使代码编制真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。

2 《设计模式之PHP项目应用》写作背景

CleverCode编程也有一段时间了,也有一些编程的心得与体会,想与大家一起交流与探讨。

大学的时候研究了一些算法,但是发现这些高级的算法在实际的项目中应用不是很多,CleverCode用的最多的算法就是宽度优先遍历和回溯算法了,像什么图论,二叉树,大整数之类的等,现在基本上没用上。

上面是一些题外话,也是一些 CleverCode背景。在工作的项目中,发现好的算法能给你带来很高的效率。但是一个好的程序架构,应用一些优秀的设计模式,会让自己事半功倍。CleverCode很讨厌因为需求的变动,需要大片大片的改动自己以前设计好的代码。当时觉得自己代码写的不错,但是一旦有新的需求的时候,总是让人很被动,又不得不去改代码。所以痛定思痛后,觉得认真的研究一下设计模式。

3 为什么写《设计模式之PHP项目应用》?

CleverCode是一名PHP程序员,在学习设计模式的时候看到的书籍大部分编码是java的。教程中用的项目例子大部分很抽象。所CleverCode想将自己项目中用的设计模式,以及网上一些经典的设计模式项目案例,用PHP编写出来与大家探讨。

4 《设计模式之PHP项目应用》是什么?

《设计模式之PHP项目应用》,并不是一本书,而是CleverCode写的一些设计模式心得与体会。将这些学习的过程写成博客,放入到《设计模式之PHP项目应用》中。

5 PHP项目来源

1)网上经典的设计模式项目案例

2)书中的设计模式项目案例

3)CleverCode设计的项目中应用到设计模式的项目

6  其他

也许有部分项目应用的设计模式不够优秀,如果有更好的设计意见,请大家能够提出意见,一起探讨!

版权声明:

1)原创作品,出自"CleverCode的博客",转载时请务必注明以下原创地址,否则追究版权法律责任。

2)原创地址:http://blog.csdn.net/clevercode/article/details/45692949(转载务必注明该地址)。

3)欢迎大家关注我博客更多的精彩内容:http://blog.csdn.net/CleverCode

时间: 2024-10-27 16:51:50

(一)设计模式之PHP项目应用(简介)的相关文章

(三)设计模式之PHP项目应用(策略模式:商场收银系统)

1 策略模式简介 策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换.策略模式让算法独立于使用它的客户而独立变化. 2 模式组成 1)抽象策略角色(Strategy): 策略类,通常由一个接口或者抽象类实现. 2)具体策略角色(ConcreteStrategy): 包装了相关的算法和行为. 3)环境角色(Context): 持有一个策略类的引用,最终给客户端调用. 3 模式核心思想 策略模式是一种定义一些列算法的方法,从概念上来看,所有这些算法完成的都是相同的工作,只是

设计模式之PHP项目应用(23种设计模式目录)

目      录 目录说明:        1)移动到博客标题,点击超链接,可以进入到该博客.        2)本目录持续更新,关注请收藏.        3)本目录详细地址:http://blog.csdn.net/clevercode/article/details/45741843. 设计模式之PHP项目应用(目录) (2015-05-13) 设计模式之PHP项目应用(简介) (2015-05-13) 1 简单工厂模式 1.1 设计模式之PHP项目应用(简单工厂模式:计算器) (2015

(四)设计模式之PHP项目应用(策略模式:自动驾驶系统)

1 前言 关于策略模式的定义,模式组成,模式核心思想,模式架构图,程序架构等基础知识介绍.请先参考我的另外一篇博客<(三)设计模式之PHP项目应用(策略模式:商场收银系统)>:http://blog.csdn.net/clevercode/article/details/45722661. 2 项目应用 2.1 需求说明 某公司是福特和本田公司的金牌合作伙伴,现要求开发一套自动驾驶系统,只要汽车上安装该系统就可以实现无人驾驶,只用实现启动,转弯,停止功能即可.该系统可以在福特和本田车上使用.这

设计模式之PHP项目应用——单例模式设计Memcache和Redis操作类

1 单例模式简单介绍 单例模式是一种经常使用的软件设计模式. 在它的核心结构中仅仅包括一个被称为单例类的特殊类. 通过单例模式能够保证系统中一个类仅仅有一个实例并且该实例易于外界訪问.从而方便对实例个数的控制并节约系统资源.假设希望在系统中某个类的对象仅仅能存在一个.单例模式是最好的解决方式. 2 模式核心思想 1)某个类仅仅能有一个实例: 2)它必须自行创建这个实例: 3)它必须自行向整个系统提供这个实例. 3 模式架构图 4 项目应用 4.1 需求说明 CleverCode在实际的PHP项目

基于EEPlat的项目开发过程简介

EEPlat平台比较匹配敏捷式开发过程(如XP),可以进行简单设计快速迭代,基本可以以一周或两周作为迭代周期.当然了EEPlat也可以支持传统重量级的软件开发过程(如RUP等). 项目开始初期,与传统项目一样进行需求调研,进行需求分析,经过和客户讨论确定后可以获得一个相对完整的软件需求.然后进行简单设计,进行功能分析.流程分析.数据分析.基于EEPlat开发首先需要完成数据库设计,数据库设计完成后,即可进行开发.功能分析和流程分析相对比较简单即可,后期平台在这方面的调整会很快,完全可以通过与客户

Android项目目录简介

Android 项目目录简介: 这是整个项目的常用的文件夹结构,下面我会介绍每一个文件夹的所代表的含义: src------    主要的程序代码都在该文件下编辑,存放java源文件. gen----–     系统在编译时产生的一些R文件.比如xml中定义的一些(<string name="app_name"></string>)这些ID都会产生在这里 assets----–  用于存放应用程序中使用的外部资源文件,程序可以通过I/O流对目录中的文件进行读写,

(二)设计模式之PHP项目应用(简单工厂模式:计算器)

1 简单工厂模式简介 简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类(这些产品类继承自一个父类或接口)的实例. 2 模式组成 1)工厂(Creator)角色 简单工厂模式的核心,它负责实现创建所有实例的内部逻辑.工厂类的创建产品类的方法可以被外界直接调用,创建所需的产品对象. 2)抽象产品(Product)角色 简单工厂模式所创建的所有对象的父类,它负责描述所有实例所共有的公共接口. 3)具体产品(Concrete Product)角色 是简单工厂模式的创建目标,所

基于Instrumentation Framework的开源项目AndroidMonkey简介

在上一篇文章<MonkeyRunner和Android设备通讯方式源码分析>中本人提到MonkeyRunner跟目标安卓机器交互的其中一种方式是通过在目标机器端开启'monkey -port $port'来跟monkeyrunner建立连接进行交互的,后来打算下载安卓机器端的monkey源代码来分析下monkey是如何处理的,在google中打入关键字"android monkey source code"后定位到以下连接"https://code.google.

团队开发项目需求简介

项目名称:校园封神榜 需求分析: (1).从老师的角度考虑:每年的科技季比赛,老师都需要通过班干部动员学生参加比赛,浪费掉了很多的时间,而且这样通知的效果并不好,很多的学生看不到而且容易忘掉:另外,老师带有很多的科研项目,老师希望学生可以参与到其中,从而达到教学相长的目的. (2).从学生的角度考虑:对比赛感兴趣的同学希望可以参与到比赛中,但是很多时候他们不知道比赛的时间以及其他的注意事项,另外,对于一些大型的比赛,学生需要跨专业组队,学生找不到合适的队友. (3).本平台基于这样的背景,为老师