相关疑难解决方法(0)

前控制器与外墙模式

好吧,我已经在网上搜索了一下并发现了这个帖子,但它对我来说还是不太清楚.

前控制器模式和外墙模式之间究竟有什么区别?

据我所知到目前为止:Façade模式不包含任何业务逻辑,只是集中访问多个对象.

前端控制器执行相同的操作,但可能包含业务逻辑,以便根据输入数据等方式调用所调用的内容.

要理解这一点,以下简单的伪代码片段是否意味着drawLine是一个Façade来简化将坐标转换为点然后实现实际完成工作的draw方法?

    private void drawLine(Int32 StartX, Int32 StartY, Int32 EndX, Int32 EndY)
    {
        Point Start = new Point(StartX, StartY);
        Point End = new Point(EndX, EndY);

        Draw(Start, End);
    }
Run Code Online (Sandbox Code Playgroud)

Façade可以调用应用程序的较低层,还是仅仅集中访问同一层上的许多组件?

据我了解,前端控制器协调完整的函数调用过程.

示例:Front控制器将检查数据,然后决定要采取的操作.然后,它将为每个后续调用较低级别的类编译数据,直到它到达可以提供给调用系统的合适响应.

我认为我对外墙模式的理解是错误的或过于简单化.如果我错了,请纠正我.

如果我对此的理解是正确的,那么将应用程序外观更改为Microsoft应用程序架构指南2.0中的前端控制器会更有意义吗?我在第18章中特别关注服务架构.(虽然我有Beta 2版本)

更新:感谢Rune的响应.为什么说将Facade更改为Front控制器是不正确的?我是Front-controller的忠实粉丝,因为它可以让所有低级别的东西更加受控制.因此,虽然它可能没有更多的意义,但这样做是否完全错误?如果是:为什么?

design-patterns

12
推荐指数
2
解决办法
2万
查看次数

标签 统计

design-patterns ×1