已采纳回答 / 唐荣轩goody
不太准确。其实可以在DataBase类中根据配置再封装一层,比如假设配置的mysql,那么DataBase的connect就去new Mysql()->connect,如果是mysli,就去执行new Mysqli()->connect()
2015-06-20
已采纳回答 / hasty
这么理解也对。类似于手机电源适配器,如果能用一个充电器对所有手机充电当然是最方便的。无论什么手机,都只需要拿一个充电器。否则,不同手机不同充电器,太麻烦。通过适配器,封装变化,通过一个接口能调用多个不同接口的对象。这样调用时比较简单。而当对象接口变化时,原来的调用代码可以不变(只需要修改适配器就行了)。
2015-02-26
最赞回答 / 在路上前行
<?php namespace Imooc;class Factory{ public static function createFactory($class) { $db = new $class; return $db; }}
2015-02-26
已采纳回答 / CR71
swoole是PHP语言的高性能网络通信框架,提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,数据库连接池,AsyncTask,消息队列,毫秒定时器,异步文件读写,异步DNS查询。
2015-02-26
已采纳回答 / 王益达
在这只是最简单的案例演示,实际生产环境会根据“特定算法”决定连接到哪台台服务器。这个“特定算法”有可能依据“最少连接数”,有可能依据“最快响应”等。其实,案例中的取随机数相当于用一种最简陋“算法”来保证了每次请求至少不会都连接到同一台服务器(实际场景不会这样做)。当然,如果老师讲课时提醒一句话,会减少很多同学的疑惑。
2015-02-15
已采纳回答 / summesr
抽象类可以没有抽象方法,但是如果你的一个类已经声明成了抽象类,即使这个类中没有抽象方法,它也不能再实例化,即不能直接构造一个该类的对象。如果一个类中有了一个抽象方法,那么这个类必须声明为抽象类,否则编译通不过
2014-12-04