常用开源库整理(持续更新...)
Python开源框架 django 功能强大的主流python服务端开发框架, 即可以基于MTV(Model-Templates-View)模式进行完整站点开发, 也可以用于开发RESTful API. 官方文档 mysqlclient python访问mysql数据库的支持库, 基于mysql的django项目需要安装 django-rest-framework ...
Python开源框架 django 功能强大的主流python服务端开发框架, 即可以基于MTV(Model-Templates-View)模式进行完整站点开发, 也可以用于开发RESTful API. 官方文档 mysqlclient python访问mysql数据库的支持库, 基于mysql的django项目需要安装 django-rest-framework ...
应用场景 To separate the construction of an object from its representation. 顾名思义, 将对象的结构与呈现形式进行分离. 经常会有将数据或对象从一种结果导出为其他呈现形式的需求, 比如PPT转PDF, 表格转图表等等. classDiagram direction LR class Pres...
应用场景 Provide an interface for creating families of related objects. 抽象工厂和工厂方法基本没有什么关系. 工厂方法的作用是返回一个接口的实现对象, 子类可以自由决定具体使用什么对象. 而抽象工厂则是一个返回相关对象的接口. 比如一套UI主题系统, 每套主题都包含自己的Button, Listbox, Tex...
Defer the creation of an object to sub classes. 推迟子类中某个对象的创建时间. 这是在设计模式中对工厂方法模式的定位说明. 简单来说, 工厂方法的用法是定义一个接口, 其实现提供某些基类需要的功能. 基类通过工厂方法获得这一接口的实例, 而子类则可以重写该方法以选择其他的实例. 举一个汽车的例子. 奔驰有自己的原厂车, 但...
应用场景 单例模式属于比较常见的基础设计模式. 即一个类在全局中仅存在一个实例化的对象. 比较常见的地方比如项目的配置管理对象. 因为保存了各个模块之间的统一配置信息以保证其在相同的环境下运行. 单例模式就是很好的选择. 简单的单例实现 简单的java单例 public class ConfigManager { private static ConfigManager ...
应用场景 解决对象的复制问题. 比如在Keynote中有一个图形, 通过右键点击菜单选择副本. 就可以直接得到一个一模一样的图形. 直观的来看, 图形应该有很多种, 可以有一个共同的基类. 而副本命令应该根据不同的图形执行不同的操作. classDiagram class Shape{ origin border bgcolor ...
应用场景 代理模式是使用一个与目标对象外观完全一样的对象来用用作中间通信. 与适配器不同, 适配器的作用是让一边的接口与另一边进行适配, 也就是改变了目标对象的外观. 而对代理对象的操作与直接对目标操作没有任何区别. 代理模式最大的作用就是解决在直接操作目标对象时的一些条件限制. 比如加速代理, 梯子代理等等. 或者通过延迟加载降低通信频率, 减少资源消耗, 如ORM相关的对象等等...
问题描述 假设一个智能家居的产品, 要在手机上实现一个遥控器app可以控制所有接入的家电. 大概得结构如下: classDiagram direction LR class RemoteControl{ + turnOn() + turnOff() } class TVRemoteControl{ + s...
也叫轻量级模式, 轻量模式. 问题描述 属于概念比较好理解的模式. 核心思想就是把高内存占用的只读资源共享, 使其能够在多个位置进行重用. 在不重用的情况下, 每个元素独占一个图片资源, 当重复元素变多就会由于系统资源不足而崩溃. 最常见的属于各类App中的图片素材, 比如按钮底图, 占位符图片. 比较形象的就是扫雷游戏里那一屏幕密密麻麻的方块图片. 简单的python实现 fr...
问题描述 假设要实现一个推送消息到用户的功能. 大体流程是: 首先需要跟服务器建立连接 检查收否有身份验证的Token 如果没有则要通过授权信息向服务器请求Token. 然后将Token,消息和目标用户的id一同发送给服务器 等待服务器返回发送结果 关闭连接 如下图所示: 显然这是一个比较复杂的复杂流程, 没有人会在不同的地方去维护这一堆随时有可能发生变...