
设计模式
面向对象语言的设计模式
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 · 375 阅读 · 0 评论 -
Java 观察者模式(回调函数)
观察者模式:当对象间存在一对多关系时,一个对象状态发生变化,则会自动通知依赖它的对象,这种模式属于行为模式中的观察者模式。在Android开发中,常用的事件监听机制就属于观察者模式。常用的例如onClickListener()与实现View.OnClickListener这个接口都属于观察者模式的具体实现,称为回调方法。在Swift等语言中,也可以通过Protocol来实现Java中的Interface功能,但是Swift中最常用的还是Clourse(OC中的Block)来完成Java中的匿名类功能。原创 2021-07-04 10:42:03 · 627 阅读 · 0 评论 -
Swift之单例模式
前言:单例特点:单例实例在整个应用程序生命周期期间必须只有一个,例如UIApplication或NSNotification;单例的构造器必须为private;单例实例必须为线程安全的。单例优点:调用单例实例时避免了不必要的开销;简化管理和使用流程。代码:class CaculateRectangleArea{ static let caculateRectangleArea: CaculateRectangleArea = CaculateRectangleArea();原创 2020-12-08 22:27:03 · 1133 阅读 · 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 · 227 阅读 · 0 评论 -
工厂模式 Swift简单实现
关于工厂模式的说明,请移步至https://blog.youkuaiyun.com/kicinio/article/details/109672005代码如下:import Foundationprotocol Flight { func fire() -> Void}class J10: Flight{ func fire() { print("J10 Fire.") }}class J11: Flight{ func fire(){原创 2020-11-13 16:40:28 · 230 阅读 · 0 评论 -
工厂模式 Java实现
一:产生背景过于频繁的使用new关键字来创建对象,当工程过于庞大,需要修改时,这时极有可能“牵一发而动全身”,与面向对象的基本原则相违背。使用工程模式后,将代码细节封装起来,对外只暴露关键部分,将重复部分封装为一个接口,从而达到面向对象的要求。二:工程简览说明:以下工程包括如下部分:文件名作用FlightFactory工程模式,用来获取战斗机对象的关键Flight战斗机接口,有一个抽象方法fire()FlightProduce用来测试生产战斗机的类J10原创 2020-11-13 12:13:43 · 247 阅读 · 0 评论