Laravel中的Facade实现Facade还是代理模式?
据我所知,正面模式的意图是 为子系统中的一组接口提供统一接口。Facade定义了一个更高级别的接口,使子系统更易于使用。这可用于将许多复杂的对象交互简化为单个接口 据我所知,该模式的目标是隐藏子系统中的复杂性(例如,您的facade类调用子系统中的许多对象) 但在拉威尔的外观中,它只有一个类调用另一个类(不是子系统)。在我看来,它更像一个Laravel中的Facade实现Facade还是代理模式?,laravel,design-patterns,facade,proxy-pattern,Laravel,Design Patterns,Facade,Proxy Pattern,据我所知,正面模式的意图是 为子系统中的一组接口提供统一接口。Facade定义了一个更高级别的接口,使子系统更易于使用。这可用于将许多复杂的对象交互简化为单个接口 据我所知,该模式的目标是隐藏子系统中的复杂性(例如,您的facade类调用子系统中的许多对象) 但在拉威尔的外观中,它只有一个类调用另一个类(不是子系统)。在我看来,它更像一个代理而不是门面。有人能帮我澄清一下吗。这本书,PHP设计模式的架构师指南注释 Facade的目的是为由许多对象组成的整个子系统提供一个更简单的接口 据我所知,
代理
而不是门面
。有人能帮我澄清一下吗。这本书,PHP设计模式的架构师指南注释
Facade的目的是为由许多对象组成的整个子系统提供一个更简单的接口
据我所知,设计模式不是一种“先验”义务,而是一种对常见问题实施通用可重用解决方案的承诺
Laravel4利用了Facade设计模式,该模式允许它通过静态API提供表达性语法,但仍保持可测试性。Facade隐藏了代码的复杂性/实现。
事实上,Laravel实现了一个对象。尽管Laravel的AppFacade(一个IoC容器)封装了整个应用程序,但我们不应该忽视这一点
代理模式拦截请求并执行额外的工作,例如:筛选、ACL、转换。。。“消费者”对象幸福地没有意识到代理层提供的额外工作