请问interface实现后的具体应用应该怎么做?
比如如下场景 , 中文名只是为了更直观的说明我想问的问题.
interface sotrage {
public function save($m);
}
根据接口实现了2个类.如下
class ftp implements sotrage {
public function save($path) {
}
}
class webdav implements sotrage {
public function save($path) {
}
}
用户实际操作的时候, 用户界面中有选项, 给用户自主选择权. ftp/webdav
比如某个controller
class upload($stroage='ftp',$path){
/* 请问*/
/* 这里如何优雅的根据不同$storage,调用不同的类呢? */
/* 例子比较简单,只有2个实现接口的类, 但是不希望使用if/else/switch 这样的方式感觉不是很优雅. */
/* 反射? 魔术方法? */
/* 谢谢大家 */
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
建议看一下《重构》,第八章有你想要的答案
可以使用 抽象工厂