摘要: 前端控制器(Front Controller) 前端控制器模式(Front Controller Pattern)是用来提供一个集中的请求处理机制,所有的请求都将由一个单一的处理程序处理。该处理程序可以做认证/授权/记录日志,或者跟踪请求,然后把请求传给相应的处理程序。 返回 Python设计模式- 阅读全文
posted @ 2022-07-26 17:48 坦先生的AI资料室 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 代理模式(Proxy) 目的:代理模式用于需要给一个类增加一些调用方式,又不想改变其接口。常用于登录控制。 角色: Real Sbuject: 被代理的类 Proxy: 代理 返回 Python设计模式-outline 示例 from typing import Union class Subjec 阅读全文
posted @ 2022-07-26 17:47 坦先生的AI资料室 阅读(665) 评论(0) 推荐(0) 编辑
摘要: MVC模式(Model-View-Controller) MVC模式的名称来自于切分软件应用的三个部分,即模型部分、视图部分和控制器部分。MVC被认为是一种架构设计而不是实际模式,但由于其非常重要,在介绍设计模式时无法绕过它。 一方面,MVC是一个非常古早的模式,当时的计算机硬件环境和当前有着较大的 阅读全文
posted @ 2022-07-26 17:47 坦先生的AI资料室 阅读(527) 评论(0) 推荐(0) 编辑
摘要: 享元模式(Flyweight) 享元模式是一个考虑系统性能的设计模式,通过使用享元模式可以节约内存空间,提高系统的性能。 享元模式以共享的方式高效地支持大量的细粒度对象,享元对象能做到共享的关键是区分内部状态(Internal State)和外部状态(External State)。 内部状态是存储 阅读全文
posted @ 2022-07-26 17:45 坦先生的AI资料室 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 外观模式(Facade) 目的:外观模式用于给复杂系统提供一套简单一致的的接口,以实现某些复杂功能。 使用场景:维护一个遗留的大型系统是,可能这个系统已经非常难以维护和扩展,但是它包含很重要的功能,新的开发必须依赖于它,这样增加外观Facade类,为系统封装一个比较清晰简单的接口,让新系统与Faca 阅读全文
posted @ 2022-07-26 17:44 坦先生的AI资料室 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 装饰模式(decorator) 装饰模式是在原有对象的基础上,动态增加一个新的特性。与继承的最大区别是,这种新增特性是比较泛化的,可以被多种对象增加。 返回 Python设计模式-outline 示例 # 原对象 class TextTag: """Represents a base text ta 阅读全文
posted @ 2022-07-26 17:44 坦先生的AI资料室 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 组合模式(Composite) 组合模式是用来描述的是一组相同类型的对象的关系。一个组合模式类的实例是用来组合一系列对象(通常是树型结构),以便来描述部分和整体的关系。 优点: 定义了基本对象和组合对象的关系结构(一般为树),基本对象可以被组合成复杂的组合对象,且组合对象可以进一步被组合。 对调用来 阅读全文
posted @ 2022-07-26 17:42 坦先生的AI资料室 阅读(324) 评论(0) 推荐(0) 编辑
摘要: 桥接模式(Bridge) 目标:将抽象化(Abstraction)与实现化(Implementation)解耦,使得二者可以独立地变化。 优点:类和示例分离,二者可以独立设计,不受约束 缺点:系统可读性降低 结构 抽象化(Abstraction): 抽象化角色给出定义,并保存一个对实现化角色的引用。 阅读全文
posted @ 2022-07-26 17:42 坦先生的AI资料室 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 配适器模式(Adapter) 目的:配适器主要用于,在一个已有类的基础上,封装一个新的符合协议的接口,使这个类可以按照已知协议调用 返回 Python设计模式-outline 示例 from typing import Callable, TypeVar # TypeVar("T) 意思是,可以是任 阅读全文
posted @ 2022-07-26 17:41 坦先生的AI资料室 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 三层架构模式(3-tier) 三层架构指: 表现层(presentation layer): 也称UI层,程序运行的入口,如果程序包括界面,界面就放在这一层。 业务逻辑层(business logic layer):王城程序的业务逻辑,对数据访问层进行调用,将从数据访问层中获取的数据反馈给表现层 数 阅读全文
posted @ 2022-07-26 17:40 坦先生的AI资料室 阅读(374) 评论(0) 推荐(0) 编辑