外观模式
外观模式隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种模式涉及到一个单一的类,该类提供了客户端请求的简化方法和对现有系统类方法的委托调用。
例子:通过ShapeMaker简化Shape的创建。
外观模式隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种模式涉及到一个单一的类,该类提供了客户端请求的简化方法和对现有系统类方法的委托调用。
例子:通过ShapeMaker简化Shape的创建。
桥接是用于把抽象化与实现化解耦,使得二者可以独立变化。这种模式涉及到一个作为桥接的接口,使得实体类的功能独立于接口实现类。这两种类型的类可被结构化改变而互不影响。
例子:通过定义桥接接口DrawApi,把Shape的draw功能独立出来。
建造者模式使用多个简单的对象一步一步构建成一个复杂的对象。
例子:麦当劳套餐。一份麦当劳套餐,通常包含一个汉堡,一份冷饮,汉堡又可以分为蔬菜汉堡,鸡肉汉堡等;冷饮可以分为百事可乐,可口可乐等。汉堡使用纸盒包装,冷饮使用杯子包装。那么正个套餐就是一个复杂的对象,下面使用建造者模式构建。
![builder.jpg](http://localhost/static/userImages/20180621/104732_039466_builder.jpg “104732_039466_builder.jpg”建造者模式使用多个简单的对象一步一步构建成一个复杂的对象。
例子:麦当劳套餐。一份麦当劳套餐,通常包含一个汉堡,一份冷饮,汉堡又可以分为蔬菜汉堡,鸡肉汉堡等;冷饮可以分为百事可乐,可口可乐等。汉堡使用纸盒包装,冷饮使用杯子包装。那么正个套餐就是一个复杂的对象,下面使用建造者模式构建。
抽象工厂模式与工厂方法模式最大的区别在于,工厂方法模式针对的是一个产品等级结构,而抽象工厂模式则需要面对多个产品等级结构。
产品等级:如一个抽象类是空调,其子类有海尔空调,美的空调;如一个抽象类是洗衣机,其子类有海尔洗衣机,美的洗衣机。
产品族:产品族是指由同一个工厂生产的,位于不同产品等级结构中的一组产品。如海尔生产的冰箱和洗衣机。
例子如下:
日常开发中,有些同事对日志输出没有好好设计,导致不重要的日志满天飞,掩盖了真实重要的日志,为了方便调试,经常需要对某个类进行单独配置日志级别。
1 | logging: |
1、管理员模式启动 VMware。
2、VMware => 编辑 => 虚拟网络编辑器 =>选择 Net 模式;关闭 dhcp;记录下网关地址。
3、虚拟出三台主机后,修改静态ip,网段和第2点的网段一样,网关对应第2点的网关地址。重启 service network restart。
4、修改宿主主机的 VMware Network Adapter VMnet8 的 ip 地址,设置和第2点同样的网段地址。(非常重要,否则会出现主机 ping 不通虚拟机的情况)
参考文章 https://www.linuxidc.com/Linux/2017-05/144328.htm
1、参考文章
https://www.cnblogs.com/luotianshuai/p/5206662.html
2、替换可用yum源,非常重要,参考其他笔记
3、安装jdk
1 | yum -y install java-1.8.0-openjdk* |
4、zookeeper 安装简要命令
1 | mkdir /home/zookeeper |
5、启动 zookeeper
1 | /home/zookeeper/apache-zookeeper-3.5.5-bin/bin/zkServer.sh start //直接启动 |
6、查看状态
1 | /home/zookeeper/apache-zookeeper-3.5.5-bin/bin/zkServer.sh status |
1、kafka 安装简要命令
1 | mkdir /home/kafka |
2、启动
1 | /home/kafka/kafka_2.12-2.2.0/bin/kafka-server-start.sh -daemon /home/kafka/kafka_2.12-2.2.0/config/server.properties |
3、查看日志
1 | tail -fn 200 /home/kafka/kafka_2.12-2.2.0/logs/server.log |
4、创建主题
1 | ./kafka-topics.sh --create --zookeeper 192.168.2.121:2181 --replication-factor 3 --partitions 10 --topic request-online |