一、设计模式目的 1)代码重用性 2)可读性 3)可扩展性 4)可靠性 5)使程序员呈现高内聚,低耦合的特性 二、设计模式七大原则 1)单一职责原则 2)接口隔离原则 3)依赖倒转(倒置)原则 4)里氏替换原则 5)开闭原则 6)迪米特法则 7)合成复用原则 三、单一职责原则 基本介绍: 对于类来说 ...
分类:
编程语言 时间:
2020-05-03 18:32:50
阅读次数:
70
AOP动态代理的作用:解耦合,提高扩展性; 动态代理的应用场景:测试代码的执行效率,打印日志信息等; 动态代理模式:应用反射技术+代理实现 实现动态代理的核心:InvocationHandler(代理对象的功能方法) 实现原理 实现步骤 1.创建相关的类 2.核心编写代理类的代码 import ja ...
分类:
其他好文 时间:
2020-05-03 12:56:49
阅读次数:
56
回顾: 生产者消费者模型 主要为了解决强耦耦合的问题 队列 from multiprocessing import Queue 先进先出 队列本身是安全的 from multiprocessing import JoinableQueue task_done() 每消费一个数据,就返回一个标识 jo ...
分类:
编程语言 时间:
2020-05-02 20:56:22
阅读次数:
66
单一职责原则的英文是Single Responsibility Principle,简称SRP。我们在设计类的时候,尽量避免设计大而全的类,要设计粒度小、功能单一的类,使得一个类只负责完成一个功能,这样有利于提高代码的复用性、可读性、可维护性,实现代码高内聚、低耦合。 ...
分类:
其他好文 时间:
2020-05-02 11:56:24
阅读次数:
73
1.MVC 1.概念: M是指业务模型,V是指用户界面,C则是控制器。 M即model模型,数据层,负责数据的处理和获取的数据接口层。 V即View视图,视图层,是指用户看到的并且与之交互的界面。比如由html元素组成的网页界面,或者软件的客户端界面。 C即controller控制器,控制层,它是M ...
分类:
Web程序 时间:
2020-05-02 11:45:24
阅读次数:
147
六大设计原则 单一职责 定义 每个类都应该有一个单一的功能 一个类或者模块应该有且只有一个改变的原因 规范 定义类的方法 避免类之间耦合度太高 里氏替换 定义 只要有父类出现的地方,都可以用子类来替代 规范 不要破坏继承体系 增加子类的时候系统可以正常执行 依赖倒置原则 定义 高层模块不应该依赖底层 ...
分类:
其他好文 时间:
2020-05-02 10:18:12
阅读次数:
77
喜欢关注个人公众号:java乐园消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题。实现高性能,高可用,可伸缩和最终一致性架构;是大型分布式系统不可缺少的中间件。目前使用较多的消息队列有ActiveMQ、RabbitMQ、Kafka、RocketMQ、MetaMQ等。springboot提供了对JMS系统的支持;springboot很方便就可以集成这些消息中间件。对
分类:
编程语言 时间:
2020-05-02 09:27:36
阅读次数:
55
中介者模式 中介者模式(Mediator Pattern)是用来降低多个对象和类之间的通信复杂性。 这种模式提供了一个中介类,该类通常处理不同类之间的通信,并支持松耦合,使代码易于维护。 中介者模式属于行为型模式。 实战应用参考:https://blog.csdn.net/lihangxiaoji/ ...
分类:
其他好文 时间:
2020-05-02 00:35:36
阅读次数:
94
1. MQ的优缺点 优点: 解耦:通过MQ解除上游系统和下游系统的调用耦合,下游系统只需要做消息的订阅和取消订阅,上游系统无需任何改动。(一生产,多消费的典型场景) 异步:通过MQ将一些不需要同步获取执行的结果,并且非常耗时的调用操作通过MQ异步化。 削峰:通过MQ将一些高峰期的高并发流量积压在MQ ...
分类:
其他好文 时间:
2020-05-01 20:32:41
阅读次数:
81
一个好的程序员,应该能设计出好的架构,而好的架构的各个系统之间往往是低耦合的,而消息队列,正是一个解耦的神器。 (1) 消息队列,也称消息中间件,主要优点是解耦、削峰、异步扩展性;并且kafka还能保证消息是顺序消费; (2) Kafka会将数据写到磁盘,所以不用担心数据断电丢失,所以,有时候,ka ...
分类:
其他好文 时间:
2020-04-29 17:55:16
阅读次数:
66