适配器模式:
Provider----->Adapter------->Adaptee
Adaptee:被适配的对象。
Adapter:适配器。
Provider:提供服务者。
当某一对象无法直接使用提供服务者提供的服务时就需要适配器对其进行适配。例如:老式的ps/2键盘就无法使用近几年电脑的usb接口,这时就需要一个适配器。适配器需要实现Provider提供的服务,才能被被适配的对象使用。代码示例:https://github.com/maggictang/java/tree/master/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/%E9%80%82%E9%85%8D%E5%99%A8%E6%A8%A1%E5%BC%8F/adapter
CSS定位:
position:static(默认),relative,absolute
relative:相对定位,以原来的位置为参照点,原本占有的位置任然被保留。
left:40px; //在原本的位置向右移动40px,如果要向左移动left:-40px;或right:40px;
top:90px;
//在原本的位置向下移动90px,如果要向上移动top:-90px;或button:90px;
(搞不懂为什么往右移,结果使用的属性却是left)
absolute:绝对定位,以离它最近的非标准流元素作为参照点,原本占有的位置不被保留。
代理模式:
真实角色,代理角色。
真实角色:真正实现业务的角色。
代理角色:调用真实角色提供的业务。可以添加自己的业务。
通过代理可以控制外界对真实角色的访问,外界所有对真实角色的访问都要通过代理。比如希望外界只能访问其部分代码。代码示例:https://github.com/maggictang/java/tree/master/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/%E9%9D%99%E6%80%81%E4%BB%A3%E7%90%86/staticProxy