StarryLand

我的全部道路,就是从孤独走向人间


  • 首页

  • 标签

  • 分类

  • 归档

  • 搜索

基本算法问题的 Python 解法——约束满足问题(CSP)

发表于 2021-02-03 | 分类于 Python | | 阅读次数:
字数统计: 9.7k | 阅读时长 ≈ 0:10
由计算工具解决的很大一部分问题都可以归类为约束满足问题(CSPs, constraint-satisfaction problems)。CSP 一般包含三个基本概念:变量(variables)、域(domains)和约束条件(constraints)。 比如需要在星期五为 Joe、Mary、Sue ...
阅读全文 »

Python 设计模式——模板方法模式

发表于 2020-12-29 | 分类于 Python | | 阅读次数:
字数统计: 3.7k | 阅读时长 ≈ 0:04
行为模式主要关注对象的响应性,处理对象之间的交互以实现更强大的功能。模板方法模式即为一种行为设计模式。比如可以将制作饮料的步骤定义为模板方法中的算法,子类就能使用模板方法来实现沏茶的步骤。且步骤的改变(即子类的具体实现)并不会影响原始算法的结构。这样模板方法模式中的子类就可以通过覆盖来创建不同的行为 ...
阅读全文 »

Python 设计模式——观察者模式

发表于 2020-12-29 | 分类于 Python | | 阅读次数:
字数统计: 4.5k | 阅读时长 ≈ 0:05
行为型模式中的观察者模式创建型模式(比如单例模式)是基于对象的创建机制的,这些模式隔离了对象的创建细节,使得实现这些细节的代码能够与要创建的对象类型相互独立。结构型模式(比如门面模式)用于设计对象和类的结构,使得它们能够相互协作以形成更大的结构。重点是结构的简化以及识别类和对象之间的关系。行为型模式 ...
阅读全文 »

Python 设计模式——状态模式

发表于 2020-12-26 | 分类于 Python | | 阅读次数:
字数统计: 3.5k | 阅读时长 ≈ 0:04
行为模式关注的是对象的响应性,它们通过对象之间的交互以实现更复杂的功能。状态模式是一种行为设计模式,在该模式中,一个对象可以基于其内部状态封装多个行为。比如根据收音机的基本状态(AM/FM),当调谐到 AM 或 FM 频道时,扫描频道的行为就会相应地发生动态的改变。 1234567891011121 ...
阅读全文 »

Python 设计模式——命令模式

发表于 2020-12-26 | 分类于 Python | | 阅读次数:
字数统计: 1.9k | 阅读时长 ≈ 0:02
命令模式是一种行为设计模式。可以用来实现比如安装软件时的安装向导功能,通常安装向导会通过多个步骤根据用户的选择了解用户的偏好。安装向导首先启动一个名为 Command 的对象,用于存储在向导的多个步骤中用户指定的选项。当用户在最后一个步骤中点击完成按钮时,Command 对象就会运行 execute ...
阅读全文 »

Python 设计模式——代理模式

发表于 2020-12-25 | 分类于 Python | | 阅读次数:
字数统计: 2.6k | 阅读时长 ≈ 0:03
代理通常是指一个介于寻求方和提供方之间的中介系统。寻求发是发出请求的一方,而提供方则是根据请求提供资源的一方。在设计模式中,代理通常是封装实际服务对象的装饰器或代理人,可以为其包装的对象提供附加功能同时无需改变对象本身的代码。其主要目的是为其他对象提供一个代理者或占位符,从而控制对实际对象的访问。 ...
阅读全文 »

Python 设计模式——门面模式

发表于 2020-12-25 | 分类于 Python | | 阅读次数:
字数统计: 3k | 阅读时长 ≈ 0:03
门面(facade)指建筑物的表面,尤其是最有吸引力的那一面。当人们从建筑物旁边经过时,可以欣赏其外部面貌,而不必了解其本身结构的复杂性。门面在隐藏内部复杂性的同时,也为客户端提供了一个可以轻松访问的接口。 比如需要到某个商店买东西,但对于该商店的布局并不清楚。可以直接找店主说明需要哪些东西,由店主 ...
阅读全文 »

Django models 详解之聚合查询(aggregate)与分组查询(annotate)

发表于 2020-12-22 | 分类于 Python | | 阅读次数:
字数统计: 7.6k | 阅读时长 ≈ 0:08
一、测试代码及数据models.py 代码 12345678910111213from django.db import modelsclass Author(models.Model): name = models.CharField(max_length=100) age = mod ...
阅读全文 »

Python 设计模式——工厂模式

发表于 2020-12-22 | 分类于 Python | | 阅读次数:
字数统计: 5.4k | 阅读时长 ≈ 0:05
在面向对象编程中,工厂表示一个负责创建其他类型的对象的类。通常作为工厂的类会实现多个关联的方法,客户端通过某些参数调用这些方法,工厂则负责创建对应类型的对象并返回给客户端。 工厂模式的优点: 松耦合。对象的创建独立于类的实现 客户端无需了解创建对象的类,只需知道需要传递的接口、方法和参数即可。简化 ...
阅读全文 »

Vue.js 截获 Ctrl+S 组合键以及自动保存(提交)功能的实现

发表于 2020-12-14 | 分类于 JavaScript | | 阅读次数:
字数统计: 1.1k | 阅读时长 ≈ 0:01
默认情况下,Chrome 中按下 Ctrl+S 组合键会进入“保存网页”界面,并不会与网页中的具体内容做交互。 最近在做一个前端基于 Vue 的在线文档,希望网页中按下 Ctrl+S 组合件就能触发提交动作,将前端数据的改动存储到后端数据库中。并且不管用户是否操作,每隔特定时间也会自动提交文档的当前 ...
阅读全文 »
1…789…23
星舞

星舞

Personal blogs about Linux / System Administration / Arduino / Programming / Python and etc. Just something I want to do and share.

224 日志
20 分类
360 标签
RSS
GitHub E-Mail Google Twitter FB Page Instagram
© 2023 星舞 | 1.5m | 25:47
由 Hexo 强力驱动
|
主题 — NexT.Muse v6.0.5