04 2021 档案
摘要:『建造者模式』是一种简化复杂对象构建过程的设计模式,他的核心夙愿是:把对象的构建和表述分离。 举个栗子 每种食品包装上都会有一个营养成分表,每份的含量、每罐的含量、每份卡路里、脂肪、碳水化合物、钠等,还可能会有其他 N 种可选数据,大多数产品的某几个成分都有值 那么我们表述这个食品类: public
阅读全文
摘要:今天聊一聊大家最耳熟能详的设计模式,『工厂模式』。实际上这个设计模式有三个变种,分别是『简单工厂模式』、『工厂方法模式』以及『抽象工厂模式』,可能大部人所熟知的是前两种,抽象工厂模式有一定的场景限制,很少出现在大家的视野中,不过今天我们一并谈一谈。 简单工厂模式 简单工厂说白了就是一个超级工厂,他可
阅读全文
摘要:『单例模式』是一种创建型的设计模式,保证一个类只有一个实例,并提供一个访问它的全局访问点。 在一个系统中,一个类经常会被使用在不同的地方,通过单例模式,我们可以避免多次创建多个实例,从而节约系统资源。 单例模式往往有三个特征,一个类只能有一个实例,它必须自行提供实例的创建,它必须提供方法暴露此实例。
阅读全文
摘要:今天和大家聊『状态模式』这个设计模式,也是由于业务上遇到了一个极其难以维护的订单状态,不得不去重构。 阿里规约其中就有一条: 简单来说,状态模式用于消除冗余的大量『if else』判断。 举个例子 业务中有一个订单表,其中订单状态大约有如下十多种,我们维护在一个枚举类型中。 接着,我们有一个 ser
阅读全文
摘要:又是一季 “金三银四” ,你面试了吗? Q1:String、StringBuffer、StringBuilder 有什么区别? Tips:首先要整理出 String 的基本特性,Immutable、不可变等特性,其次是后两者与前者的区别,最后是 StringBuffer 与 StringBuilde
阅读全文