Bridge Pattern 对象结构型模式 意图 将抽象部分与其实现部分分离,使它们都可以独立地变化 结构 其中: Abstraction 定义抽象类的接口,维护一个指向 Implementor 类型对象的指针 RefinedAbstraction 扩充由 Abstraction 定义的接口 Implementor 定义实现类的接口,该接口不一定要与 Abstr...
桥接模式
适配器模式
Adapter Pattern 类结构型模式/对象结构型模式 意图 将一个类的接口转换成客户希望的另外一个接口。Adapter 模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作 结构 类适配器使用多重继承对一个接口与另一个接口进行匹配 对象适配器依赖于对象组合 其中: Target 定义 Client 使用的与特定领域相关的接口 C...
使用 CNAME 将域名重定向到带路径的 URL
之前拥有服务器的时候虽然有过此想法,但毕竟只要服务器再开个站点就解决了并没有深入研究,如今服务器到期将 Blog 搬到 Github 上想要继续这样无疑是不可能的,于是便寻求解决方法 失败的历程 虽然失败了,但还是要记录下来,肯定是我不会用 之前只是试着玩玩,仅从 DNS 的 CNAME 试了发现不行便放弃了,这次使用互联网搜索”域名定向到路径 url”,从第一条搜索结果 https:...
单例模式
Singleton Pattern 对象创建型模式 意图 保证一个类仅有一个实例,并提供一个访问它的全局访问点 结构 其中: Singleton 指定一个 Instance 操作,允许客户访问它的唯一实例 Instance 是一个类操作;可能负责创建它自己的唯一实例 适用性 Singleton 模式适用于: 当类只能有一个实例而且客户可以从一个众所周知的...
アイドルマスター ミリオンライブ!的 IP 规则
最近游玩 ミリシタ 时连接不上,遂寻找解决方法 (顺便试试 Spotify 的嵌入效果 域名 theaterdays.appspot.com 最近雨宿りの曲が大好きので、よく聞いていた。Last.fm で過去30日間雨宿りの「猫かぶり」は人気トラック一番になった。で、トップアーティストじゃない?トップアーティスト、もちろん湊あくあ! 草、ミリシタの文章で何を書いたか、どっ...
原型模式
Prototype Pattern 对象创建型模式 意图 用原型实例指定创建对象的种类,并且通过复制这些原型创建新的对象 结构 其中: Prototype 声明一个复制自身的接口 ConcretePrototype 实现一个复制自身的操作 Client 让一个原型复制自身从而创建一个新的对象 适用性 Prototype 模式适用于: 当一个系统应该独...
生成器模式
Builder Pattern 对象创建型模式 意图 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示 结构 其中: Builder 为创建一个 Product 对象的各个部件指定抽象接口 ConcreteBuilder 实现 Builder 的接口以构造和装配该产品的各个部件,定义并明确它所创建的表示,提供一个检索产品的接口 Direct...
工厂模式
简单工厂模式 简单工厂模式属于创建型模式,但不属于 23 种设计模式之一 定义:定义一个工厂类,它可以根据参数的不同返回不同类的实例,被创建的实例通常都具有共同的父类 在简单工厂模式中用于被创建实例的方法通常为静态 (static) 方法,因此简单工厂模式又被称为静态工厂方法 (Static Factory Method) 需要什么产品就传入产品对应的参数,就可以获取所需要的产品对象...
算法 钢条切割问题 (动态规划 分治)
问题描述 某公司购买长钢条,将其切割后进行出售。切割钢条的成本可以忽略不计,钢条的长度为英寸。已知价格表 $p$ ,其中 $p_{i}(i=1,2,\cdots,m)$ 表示长度为 $i$ 英寸的钢条的价格。现要求解使销售收益最大的切割方案 问题分析 假设长钢条的长度为 $n$ 英寸,最佳切割方案的最左边切割段长度为 $i$ 英寸,则继续求解剩余长度为 $m-1$ 英寸钢条的最佳切割方...
算法 假币问题 (分治)
问题描述 有 $n$ 枚硬币,其中有一枚是假币,已知假币的重量较轻。现只有一个天平,要求用尽量少的比较次数找出这枚假币 问题分析 将 $n$ 枚硬币分成相等的两部分: 当 $n$ 为偶数时,将前后两部分,即 $1\cdots\frac{n}{2}$ 和 $\frac{n}{2}+1\cdots n$ 放在天平的两端,较轻的一端里有假币,继续在较轻的这部分硬币中用同样的方法找出假...