适配器模式:
生活中: 电压适配器,type-c转接口之类的......
工作中: 最典型的service层,是否经常会有这种情况,controller层接收到的只有单个属性,但是dao层只有一个getByCondition(Object object)的方法,这时候怎么办。其实这种简单的业务的话,service层充当的就是一个适配器,在service中将单个属性设置为dao层所需实体的单个属性,然后再调用dao的方法返回值。
分类: 类适配器(继承需要调用的目标类,内部使用目标类的方法),对象适配器(需要调用的类是适配器的属性,调用属性对象的方法)
思考: service是哪种适配器?
外观模式:
生活中: 点餐的窗口(只需要下单就可以得到自己想要的食物,但是后厨是不会让你看到的)
工作中: service层其实是很复杂的,你的一个需求可能需要多个service去分工合作,但是这样就需要去调用多个service了。尤其是服务化的分布式系统,多个服务甚至是在不同的服务器上的。这时候controller层就起到作用了,用于跟用户进行交互,后端service的工作用户完全不需要知道,也不需要用户去做过多的service的调用。
nginx做负载均衡和正向代理,因为应用做集群,ip地址是不一样的,但是如果让用户自己去更换ip是不是很奇怪?这时候只需要暴露nginx的ip就可以做到跟应用的交互。
要求: 外观模式不应该暴露太多的细节,比如说某个方法名什么的,怎么实现的什么的。
思考: controller返回的结果有暴露太多东西么?
网友评论