简化facade模式

原创 2019-01-14 10:05:02 259
摘要:<?php /** * 用户登录 1.涉及到的三个操作:连接数据库,数据验证,模版输出 2.三个类 */ //数据库操作类 class Db { public function connect() { return '连接数据库'; } } class Validate&nb

<?php 


/**

 * 用户登录

 1.涉及到的三个操作:连接数据库,数据验证,模版输出

 2.三个类

 */



 //数据库操作类


 class Db

 {

public function connect()

{

return '连接数据库';

}


 }


 class Validate

 {

  public function vali()

  {

  return '登录验证';

  }

 }


class Vie

{

public function view()

{

return '登录成功';

}

}

<?php 


 

//直接用简化版的facade模式



//导入容器

require 'container.php';



//facade类


class Facade

{

//初始化Facade


protected static $container = null;


public static function init(Container $container)

{

static::$container=$container;

}


public static function connect()

{

return static::$container->make('Db')->connect();

}

public static function check()

{

return static::$container->make('Validate')->Vali();

}

public static function vieww()

{

return static::$container->make('Vie')->view();

}

}


echo "<h3>简化门面模式</h3>";

Facade::init($container);

echo Facade::connect();

echo Facade::check();

echo Facade::vieww();


批改老师:天蓬老师批改时间:2019-01-14 10:07:44
老师总结:容器中有创建实例的方法, 门面可以统一这些类成员的调用,这二者的配合, 可以实现类之间的依赖的自动管理,非常方便

发布手记

热门词条