初识设计模式 - 模板方法模式
模板方法模式是一种行为设计模式,它在超类中定义了一个算法的框架,允许子类在不修改结构的情况下重写算法的特定步骤。 ...阅读全文
模板方法模式是一种行为设计模式,它在超类中定义了一个算法的框架,允许子类在不修改结构的情况下重写算法的特定步骤。 ...阅读全文
命令模式是一种数据驱动的设计模式,它属于行为型设计模式。通过使用命令模式,可以极大地降低系统的耦合度。 ...阅读全文
策略模式是一种非常容易理解的设计模式,其最常见的应用场景是,利用它来避免冗长的 if-else 或 switch 分支判断。 ...阅读全文
观察者模式是使用频率最高的设计模式之一,用于建立对象与对象之间的依赖关系。当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 ...阅读全文
微前端 微前端,前端这次词就不用多做解释了,这个概念的重点在于这个“微”字, 从字面意义上看,微是小的意思,小是相对于大的一个用于比较的形容词,所以通常是在项目庞大的情况下,才会考虑将它变小,去考虑将它拆分成若干个小项目。这就是做微前端...阅读全文
顾名思义,迭代器就是用于迭代操作的对象,其能够像有序序列一样迭代获取集合中对象,并且能够记录下当前所在位置,因此也称游标。 ...阅读全文
概述 策略模式(Strategy Pattern)的思想是在程序运行时动态改变某一个类的执行逻辑,属于一种行为型设计模式。目的是为了尽可能的减少if...else代码。它的核心在于”选择“两个字,每一种选择就是一个策略。通常情况下,在选...阅读全文
quick review 配合案例讲述设计模式(一些基础的java和uml知识) 设计时考虑如何使模式变得更好(实践出真知) auction auctionItem(封装和信息隐藏) 面向对象把细节隐藏在对象内部,把公共部分作为接口,抽...阅读全文
享元设计模式(Flyweight Design Pattern)通过共享技术实现相同或相似对象的重用,节省内存,前提是享元对象是不可变对象。 ...阅读全文
观察者模式也可以理解为:发布订阅模式 发布者状态更新,通过管道接口实现订阅者动态更新 1 class Middleware: 2 """ 3 发布者和订阅者交互类 4 0、订阅者容器列表 5 1、包括订阅者...阅读全文
组合设计模式(Composite Design Pattern)其应用场景非常特殊,主要用于处理树形结构数据,它可以让叶子对象和容器对象的使用具有一致性。 ...阅读全文
定义抽象基类,规范接口内部方法执行顺序 在进阶篇中,没专门提过抽象基类,在这里顺便就提一下 抽象基类的核心特征:不能被直接实例化(除非所有的抽象方法都被实现) 相反,抽象基类和元类一样,一般都被当做顶层基类使用,派生类必须实现抽象类中指...阅读全文
外观模式是最常用的结构型设计模式,也是一种非常容易理解的设计模式,其核心就是为多个子系统提供一个统一的接口,将这个接口看作是这些子系统的门面。 ...阅读全文
前后端开发模式 API接口、接口测试工具postman、restful规范、序列化与反序列化、djangorestframework快速使用 Django Rest_Framework rest-framework之APIView基本使...阅读全文
适配器设计模式(Adapter Design Pattern)可以将不兼容的接口转换为可兼容的接口,让原本由于接口不兼容而不能一起工作的类可以一起工作。 ...阅读全文
定义 迭代器模式(Iterator pattern):用于顺序访问集合对象里的每一个元素,不用暴露集合是怎样存储元素的。 举例 某个班级有若干个学生,现在需要统计这些学生的平均分数。假设所有学生的分数是用数组存储的: int total...阅读全文
装饰器模式(Decorator Design Pattern)是一种结构型设计模式,通过将对象放入包含行为的特殊封装对象中来为原对象绑定新的行为。简单地说,就是允许向一个现有的功能添加新的功能,同时又不改变其结构。 ...阅读全文
桥接模式是一种在日常开发中不是特别常用的设计模式,主要是因为上手难度较大,但是对于理解面向对象设计有非常大的帮助。 ...阅读全文
代理设计模式(Proxy Design Pattern)指的是,在不改变原始类(或叫被代理类)代码的情况下,通过引入代理类来给原始类附加功能,即扩展目标对象的功能。 ...阅读全文
实现AOP(面向切面编程)的一种便捷方式,额外扩展统一管理 装饰器的实现我在语言进阶篇中有提到,这里不再赘述 1 from decorator import decorator 2 3 4 @decorator 5 def pre_ex...阅读全文