16. 在工厂方法中读取配置,生成可配置化的对象

在工厂方法中读取配置,生成可配置化的对象

2016-03-12 21:05:00

阅读数 313

评论数 0

15.自动加载配置

自动加载配置 Config.php<?php namespace IMooc;class Config implements \ArrayAccess { //$path,配置文件所在的目录 protected $path; //$configs,用来保存已经加载过的...

2016-03-07 22:09:37

阅读数 275

评论数 0

14. MVC

1.MVC

2016-03-07 22:07:24

阅读数 222

评论数 0

13.面向对象设计基本原则

1.一个类只做一件事情,不要使用一个类完成很复杂的功能。而是拆分成更小,更具体的类。2.一个类在实现之后,应该对扩展开发,对修改封闭。3.如果有A,B两个类。假如A 依赖B,不应该在A 中直接调用 B类,而是应该使用依赖注入的方式,通过注入,将B类对象注入给A 类。这样B 对于 A来说,就是可以替...

2016-03-06 23:12:30

阅读数 277

评论数 0

12. 代理模式

//传统方法 $db = IMooc\Factory::getDatabase('slave'); $info = $db->query('select name from user where id=1 limit 1');$db1 = IMooc\Factory::getDatabase...

2016-03-06 22:58:20

阅读数 336

评论数 0

11. 迭代器模式

index.php<?phpdefine('BASEDIR',__DIR__);include BASEDIR . '/IMooc/Loader.php'; spl_autoload_register('\\IMooc\\Loader::autoload');$users = new IMo...

2016-03-06 22:36:40

阅读数 211

评论数 0

10.装饰器模式

传统方法://传统方法,继承并重写 class Canvas2 extends IMooc\Canvas { public function draw() { echo "<div style='color:red;'>"; ...

2016-03-05 23:56:16

阅读数 324

评论数 0

9.原型模式

原始方法:index.phpdefine('BASEDIR',__DIR__);include BASEDIR . '/IMooc/Loader.php'; spl_autoload_register('\\IMooc\\Loader::autoload'); $canvas1 = new IMo...

2016-03-05 23:24:06

阅读数 653

评论数 0

8.观察者模式

index.php<?phpdefine('BASEDIR',__DIR__);include BASEDIR . '/IMooc/Loader.php'; spl_autoload_register('\\IMooc\\Loader::autoload');class Event exte...

2016-03-05 22:59:53

阅读数 294

评论数 0

7.数据对象映射模式

比如, new 一个对象,然后设置一些属性,就和数据库中表的一条记录对应起来。创建表:create table user( id int(11) primary key auto_increment, name varchar(32) not null, mobile v...

2016-03-05 22:07:37

阅读数 308

评论数 0

6. 策略模式

一般用 if else 判断,,这是硬编码。如果某一天,增加了针对小孩的广告,就得修改 if else 的代码。UserStrategy.php<?php//策略接口文件,约定了策略有哪些行为namespace IMooc;interface UserStrategy { //有2个...

2016-03-01 22:49:28

阅读数 318

评论数 0

5.适配器模式

IDatabase.php<?phpnamespace IMooc;interface IDatabase { public function connect($host,$user,$password,$dbname); public function query($sql...

2016-02-28 22:37:35

阅读数 348

评论数 0

4.php 注册树模式

Register.php<?phpnamespace IMooc;class Register { protected static $objects; //set 表示将一个对象注册到全局的注册树上 static function set($alias,$objec...

2016-02-27 22:05:33

阅读数 385

评论数 0

3.单例模式

<?phpnamespace IMooc;class Database { protected static $db; //第一步,单例模式,构造方法为私有的 private function __construct() { } //第二步,获取...

2016-02-23 23:14:01

阅读数 268

评论数 0

2. 3种工厂模式

1.简单工厂模式(Simple Factory) <?php//抽象产品角色 interface Car { public function drive(); }//具体产品角色class Benz implements Car { public function __...

2016-02-21 21:40:20

阅读数 325

评论数 0

1. PHP 设计模式---工厂模式

基本设计模式 1.工厂模式//如果很多页面都 new 一个Database 对象,那么一旦Database作出改动,则需要在多个页面进行相应的改动。而用工厂模式,只需要改动一个地方。 <?phpnamespace IMooc;class Factory { static funct...

2016-02-21 17:39:23

阅读数 288

评论数 0

7.Active Record

Active Record(中文名:活动记录)是一种领域模型模式,特点是一个模型类对应关系型数据库中的一个表,而模型类的一个实例对应表中的一行记录。Active Record 和 Row Gateway (行记录入口)十分相似,但前者是领域模型,后者是一种数据源模式。关系型数据库往往通过外键来表述...

2016-01-18 23:39:39

阅读数 323

评论数 0

6.依赖注入

http://blog.csdn.net/yqj2065/article/details/8510074

2016-01-15 10:17:35

阅读数 262

评论数 0

5. MVC,MVP 和 MVVM

一、MVCMVC模式的意思是,软件可以分成三个部分。各部分之间的通信方式如下。所有通信都是单向的。二、互动模式接受用户指令时,MVC 可以分成两种方式。一种是通过 View 接受指令,传递给 Controller。 另一种是直接通过controller接受指令。 三、实例:Backbone ...

2015-12-24 22:51:50

阅读数 350

评论数 0

13. PHP 表数据入口(table data gateway)

前一章中使用动态记录模式对数据库表进行建立,获取,更新(通过扩展实现删除)每 一行的操作。动态记录模式是一种简单的抽象数据库连接的方式,但是这种简洁性也正是它 的弱点。动态记录类只处理单一的行,使得它在需要呈现大量信息的WEB应用中显得效率 很低,如旅游预约,在线购物等。在这一类应用――几乎...

2015-04-07 11:34:50

阅读数 647

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭