设计模式
面向对象语言的设计模式
kicinio
这个作者很懒,什么都没留下…
展开
-
Java 责任链模式 Builder
责任链: 代码: public class OakHttp { public final String url; public final String header; public final String language; public OakHttp(){ this(new Builder()); } public OakHttp(Builder builder){ this.url = builder.url; this.header = builder.he原创 2021-07-04 20:50:57 · 361 阅读 · 0 评论 -
Java 观察者模式(回调函数)
观察者模式: 当对象间存在一对多关系时,一个对象状态发生变化,则会自动通知依赖它的对象,这种模式属于行为模式中的观察者模式。 在Android开发中,常用的事件监听机制就属于观察者模式。常用的例如onClickListener()与实现View.OnClickListener这个接口都属于观察者模式的具体实现,称为回调方法。 在Swift等语言中,也可以通过Protocol来实现Java中的Interface功能,但是Swift中最常用的还是Clourse(OC中的Block)来完成Java中的匿名类功能。原创 2021-07-04 10:42:03 · 595 阅读 · 0 评论 -
Swift之单例模式
前言: 单例特点: 单例实例在整个应用程序生命周期期间必须只有一个,例如UIApplication或NSNotification; 单例的构造器必须为private; 单例实例必须为线程安全的。 单例优点: 调用单例实例时避免了不必要的开销; 简化管理和使用流程。 代码: class CaculateRectangleArea{ static let caculateRectangleArea: CaculateRectangleArea = CaculateRectangleArea();原创 2020-12-08 22:27:03 · 1092 阅读 · 0 评论 -
Java 单列模式的三种常见写法
前言: 一:懒汉模式 /** * Note: This is a lazy mode for Single Pattern. * @author mcry416 * */ public class CaculateRectangleAreaLazy { // In inner to create an instance. private static CaculateRectangleAreaLazy instance = null; // Private constructor. Ca原创 2020-12-08 12:55:02 · 213 阅读 · 0 评论 -
工厂模式 Swift简单实现
关于工厂模式的说明,请移步至https://blog.csdn.net/kicinio/article/details/109672005 代码如下: import Foundation protocol Flight { func fire() -> Void } class J10: Flight{ func fire() { print("J10 Fire.") } } class J11: Flight{ func fire(){原创 2020-11-13 16:40:28 · 214 阅读 · 0 评论 -
工厂模式 Java实现
一:产生背景 过于频繁的使用new关键字来创建对象,当工程过于庞大,需要修改时,这时极有可能“牵一发而动全身”,与面向对象的基本原则相违背。使用工程模式后,将代码细节封装起来,对外只暴露关键部分,将重复部分封装为一个接口,从而达到面向对象的要求。 二:工程简览 说明:以下工程包括如下部分: 文件名 作用 FlightFactory 工程模式,用来获取战斗机对象的关键 Flight 战斗机接口,有一个抽象方法fire() FlightProduce 用来测试生产战斗机的类 J10原创 2020-11-13 12:13:43 · 222 阅读 · 0 评论