对外观模式的讨论
在做完机房收费系统三层的登录时,要求添加设计模式实现,毋庸置疑的是访问数据库肯定是用抽象工厂加反射,那外观模式呢,应不应该添加,下面将讨论。仅机房收费系统的登陆
在系统登录时要判断用户名是否存在,密码是否正确,还要判断用户类型,一个登录要使用三个方法判断。如果直接用三层实现,在界面层还需根据逻辑层返回的结果进行判断,一是麻烦二是耦合大。如例1.1
例1.1
用错了外观,虽说是外观但是没有起到外观的作用,如例1.3
这样就可以啦。
附:时序图
- 2楼lishehe昨天 18:20
- 这样的外观是不是B层的逻辑去外观了,B层不是业务逻辑吗?讨论讨论
- Re: lishuangzhe70478小时前
- 回复lishehen判断用户存不存在,或是密码正确不正确,都是在B层。外观就是将三层中界面上调用B层的三个方法封装成一个方法。这样界面层跟外观层就是一个方法调用。
- 1楼lishehe昨天 18:16
- 当初的外观也是用了三个方法,之所以没有用一个,是在考虑怎么提示用户名存在不存在,想来想去都没有想出来,就用了三个方法,分别提示, 可以通过抛出异常来解决