04 Mar 2019
桥连模式
abstraction -> abstraction -> implementation
对象可多角度抽象出类别时,只用一种类别树来继承,耦合就太重了,会使类的定义大量增加,抽象和实现内在是一种依赖耦合关系。将不同角度单独视为一类,不同角度的类通过聚合(桥)关联起来(参见大话设计模式),这也是一种抽象之上的再次抽象。
再次抽象,是在扩展你的类的能力,将能力抽象为接口,解耦出来。这样就可为类实现各种其他的功能,而不用修改类,符合开闭原则。
...
04 Mar 2019
适配器模式
Tips
初始设计的时候类的接口应该尽可能的规范统一,而不是使用适配器去调整。适配器适用于修补和完全不同环境的代码之间的适配。
client -> adaptor interface -> adaptor class -> adaptee
不要为了适应功能的interface而去继承修改,实现的耦合重不可复用,应该用adaptor来转换interface。
常见的一种简单adapter:继承自target类,在其定义中聚合adaptee,在adapter定义中override的target的方法中使用adaptee的方法。 (参见大话设计模式)
常见的另一种adapter:target类定义中直接聚合符合Iadapter的adapter实例,然后在target的方法中调用adapter实例的方法。这种方式是通过Iadapter接口来规范定义可接受的adapter实例方法。(参见pluralsight-patterns-library)
...
24 Jul 2018
Harbor
是由 VMware
中国研发团队负责开发的开源企业级 Docker Registry
,不仅解决了我们直接使用 Docker Registry
的功能缺失,更解决了我们在生产使用 Docker Registry
面临的高可用、镜像仓库直接复制、镜像仓库性能等运维痛点。在安装使用Harbor
前,请先安装好python2.7
,docker-CE
和docker-compose
。
- 查看本机IP(inet):
ip addr show eth0
(也可以直接使用局域网内的域名,但是前提是域名要包含.
,不然docker push
会识别为官方的registry,即便你已经成功登录到这个private registry)
...