外观模式介绍
外观模式(Facede-Pattern):将一个或数个类的复杂逻辑隐藏在背后,只露出一个干净美好的外观。
外观模式提供了一个统一的接口,用来访问子系统中的一群接口,外观定义了一个高层接口,让子 系统更容易使用。
如下:
外观模式应用
遇到的问题图示
问题:
这是不安全的做法,request和response的实例可以向下转型为Request/Response类型,这样就可以调用他们的public方法了。
不能将public方法设为private,因为会被其他的类调用,但是这两个方法在servlet中应该是不可的,所以这个方法不好。
一种解决方法:
将Request类和Response类设置default,这样就不能从包外进行访问了。
第二种解决方法:
外观模式。
运用外观模式解决
www.processon.com/view/link/5…
如图所示,创建两个Facade类,其中具有private的对应request/response属性。 这样,程序员依然可以将ServletRequest实例向下转型为RequestFacade对象,但是他们只能访问ServletRequest中的方法,无法使用Request中不想在servlet中被使用的方法了。