Proxy
比如你去相亲,找个媒人,然后让媒人去查看对方的条件。她帮你完成一些检查工作(就像计算机中的权限检查之类的工作)。
你的好处就是不用亲自去做,委托给别人就行。那么你本身所做事情就非常少了(降低本身的复杂度)。
但是你要出钱啊,(在计算机就是性能要消耗)。
同时你还要去告诉他做什么事情,在java中,你需要去编写这个代理类。
如果扩展下,你找房子可以有中介,去旅游可以有找服务社。
facade与adapter
adapter的一个例子,比如你一个old pc上面没有usb接口,只有串口。这时候你可以装一个适配器,一边是是串口,一边usb接口。这里你就可以连接一般的usb设备。
facade的一个例子,你去邮局发,可能要发邮件,寄包裹,汇款等,如果一个一个去跑这些窗口,那会非常麻烦,如果专门开设一个窗口,把这些业务都集中起来处理,就省了不少事情。
composite
有几点要注意,采用树形结构将对象组织起来,他们具有统一的接口,要使用Iterator,与Chain of Responsibility模式类似。
比如一个主板,他由许多芯片组成,而其中这些芯片不是一个primitive芯片,就是一个可以继续添加其他元件的芯片。他们之间的关系就类似于树。要使用这些元件就的用Iterator来读取出来。
主板
---芯片a
---芯片a.1
---芯片b(primitive)
比如你去相亲,找个媒人,然后让媒人去查看对方的条件。她帮你完成一些检查工作(就像计算机中的权限检查之类的工作)。
你的好处就是不用亲自去做,委托给别人就行。那么你本身所做事情就非常少了(降低本身的复杂度)。
但是你要出钱啊,(在计算机就是性能要消耗)。
同时你还要去告诉他做什么事情,在java中,你需要去编写这个代理类。
如果扩展下,你找房子可以有中介,去旅游可以有找服务社。
facade与adapter
adapter的一个例子,比如你一个old pc上面没有usb接口,只有串口。这时候你可以装一个适配器,一边是是串口,一边usb接口。这里你就可以连接一般的usb设备。
facade的一个例子,你去邮局发,可能要发邮件,寄包裹,汇款等,如果一个一个去跑这些窗口,那会非常麻烦,如果专门开设一个窗口,把这些业务都集中起来处理,就省了不少事情。
composite
有几点要注意,采用树形结构将对象组织起来,他们具有统一的接口,要使用Iterator,与Chain of Responsibility模式类似。
比如一个主板,他由许多芯片组成,而其中这些芯片不是一个primitive芯片,就是一个可以继续添加其他元件的芯片。他们之间的关系就类似于树。要使用这些元件就的用Iterator来读取出来。
主板
---芯片a
---芯片a.1
---芯片b(primitive)