240 发简信
IP属地:上海
  • 120
    java日志体系的前世今生

    概述 本文的目的是梳理Java中各种日志Log之间是怎么的关系,如何作用、依赖,好让我们平时在工作中如果遇到“日志打不出”或者“日志jar包冲突”等之类的问题知道该如何入手解...

  • 设计心法之合成复用原则

    合成复用原则 关键词:尽量多用聚合,少用或者不用继承 定义: 合成复用原则又叫做组合/聚合复用原则。它要求在软件复用时,要尽量优先使用组合或者聚合等关联关系来实现,其次才考虑...

  • 设计心法之迪米特原则

    迪米特法则(LOD): 关键词:降低耦合 定义: 如果两个软件实体无须(不必)直接通信,那么就不应当发生直接的相互调用(作用),可以通过第三方转发该调用。其目的是降低类之间的...

  • 设计心法之接口隔离原则

    接口隔离原则(ISP): 关键词:接口的职责要单一 定义: 客户端不应依赖他不需要的接口 类间的依赖关系应当建立在最小的接口上(最小接口也就是接口中没有多余的方法)接口隔离原...

  • 设计心法之依赖倒置原则

    依赖倒置原则(DIP): 关键词:面向接口编程 定义: 高层模块不应该依赖低层模块,两者都应该依赖其抽象,抽象不应该依赖细节,细节应该依赖抽象,其核心思想是:要面向接口编程,...

  • 设计心法之里氏替换原则

    里氏替换原则(LOD): 关键词:所有使用父类的地方,必须能够透明的使用子类 定义: 所有使用父类的地方,必须能够透明的使用子类,且不会导致程序的行为变化(不仅是形式上的透明...

  • 设计原则之单一职责原则

    单一职责原则(SRP): 关键词:类的职责单一 定义: 什么是职责呢?“职责”不是一个能明确界定的东西,比如说:“我目前在xxx团队”,但是这个粒度非常粗,xxxx团队下有多...

  • 设计心法之开闭原则

    软件实体的定义:项目中分离出来的模块、类与接口、方法 开闭原则 (OCP): 关键词:对扩展开放,对修改关闭 背景: 需求的变化是必然的,当需求变化时,我们该怎样去实现新的需...

  • 设计模式13-模板模式

    模板模式 what(是什么) 模板方法模式在方法中定义方法的骨架,将某些步骤推迟到子类中实现,模板方法模式可以让子类在不改变算法整体结构的情况下,重新定义算法中的某些步骤。 ...

  • 设计模式12-观察者模式

    观察者模式(Observer Design Pattern) 观察者模式也叫发布订阅模式(Publish-Subscrible Design Pattern) 在对象之间定义...

  • 设计模式11-享元模式

    享元模式(Flyweight Design Pattern) what(是什么) 允许使用对象共享来有效地支持大量细粒度对象 所谓“享元”,顾名思义就是被共享的单元。享元模式...

  • 设计模式10-门面模式

    门面模式(Facade Design Pattern) what(是什么) 门面模式为子系统提供一组统一的接口,定义一组高层接口让子系统更易用。 why(场景) 客户端完成一...

  • 设计模式09-组合模式

    组合模式 what(是什么) 组合模式允许以相同的方式处理单个对象和对象的组合体 why(为什么要用/场景) 当程序模型有跟树一样的层级结构时,如:文件系统、组织架构等 当要...

  • 设计模式08-适配器模式

    适配器模式 what(是什么) 将一个接口转换为客户端期待的接口,从而使得接口不同的两个类可以在一起工作 why (为什么要用) 客户端所依赖的接口不能修改或者修改成本比较大...

  • 设计模式07-装饰器模式

    装饰器模式 what(是什么) 装饰模式是在不必改变原类和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象 why(为什么这么...

  • 设计模式06-桥接模式

    桥接模式 what(是什么) 将抽象部分与他的实现部分分离,使他们都可以独立应对变化,如果某个系统可以从多个角度进行分类,并且每个分类都可能会变化,我们就可以把这些分类分离出...

  • 设计模式05-代理模式

    代理模式 为什么需要代理模式 在日常的接口或者功能性代码中,在不改变原有功能逻辑的前提下,通常会有一些非功能性需求,比如:请求日志、耗时统计、缓存、鉴权、事物等,如果跟业务代...

  • 设计模式04-原型模式

    原型模式 如果对象的创建成本很大,而同一个类的不同对象之间差别不大(大部分属性字段相同),这种情况下我们可以根据已有对象(原型)进行复制(或拷贝)的方式来创建新的对象,以达到...

  • 设计模式03-建造者模式

    建造者模式 Builder模式,建造者模式、构建者模式或者生成器模式。 为什么需要建造者模式? 有了构造方法,为什么还需要建造者模式 有了set器,为什么还需要建造者模式 通...