Dart设计模式之单例模式

dart设计模式之单例模式

单例模式

这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。

模式分析
  1. 单例类只能有一个实例。
  2. 单例类必须自己创建自己的唯一实例。
  3. 单例类必须给所有其他对象提供这一实例。
模式解决问题
  1. 控制实例数目,节省系统资源。
  2. 保证该类只有一个实例,多处共享
优点
  1. 内存中只有一个实例,减少了内存开销,尤其是频繁创建和销毁实例
  2. 避免对资源的多重占用
  3. 保证全局唯一实例从而保证实例状态一致
缺点
  1. 没有接口,不能继承
  2. 大量使用也会导致内存泄漏
模式应用场景
  1. 要求生产唯一序列号。
  2. WEB 中的计数器,不用每次刷新都在数据库里加一次,用单例先缓存起来。
  3. 创建的一个对象需要消耗的资源过多,比如 I/O 与数据库的连接等。
模式代码
class _SingleTon {
  _SingleTon._();
  //第一种方式调用
  factory _SingleTon() {
    return instance;
  }
  //第二种方式调用
  static _SingleTon instance = _SingleTon._();
  int count = 0;
}

class RunSingleTon implements Run {
  @override
  main() {
    print('单例模式创建');
    print(_SingleTon().count++);
    print(_SingleTon.instance.count++);
    print(_SingleTon.instance.count++);
  }
}

最后

在这里为了方便大家系统的学习Flutter,这里特意联合了阿里P7架构师和谷歌技术团队共同整理了一份Flutter全家桶学习资料。

内容概要:Flutter技术解析与实战、Flutter进阶学习笔记、Flutter入门与实战和Flutter完整开发实战详解。
内容特点:条理清晰,含图像化表示更加易懂。

由于文章内容比较多,篇幅有限,资料已经被整理成了PDF文档,有需要 Flutter技术解析与实战 完整文档的可扫描下方卡片免费获取!

目录

在这里插入图片描述

第一章 为什么 Flutter 是跨平台开发 的终极之选

  • 01 这是为什么?
  • 02 跨平台开发
  • 03 什么是 Flutter
  • 04 Flutter 的特性

在这里插入图片描述

第二章 在 Windows 上搭建 Flutter 开发环境

  • 01 使用镜像
  • 02 系统要求
  • 03 获取 Flutter SDK
  • 04 编辑器设置
  • 05Android 设置

在这里插入图片描述

第三章 编写您的第一个 Flutter App

在这里插入图片描述

第四章 Flutter 开发环境搭建和调试

  • 1.开发环境的搭建
  • 2.模拟器的安装与调试
  • 3.开发环境的搭建
  • 4.模拟器的安装与调试

在这里插入图片描述

第五章 Dart 语法篇之基础语法(一)

一、Hello Dart
二、数据类型
三、变量和常量
四、集合(List、Set、Map)
五、流程控制
六、运算符
七、异常
八、函数

在这里插入图片描述

第六章 Dart 语法篇之集合的使用与源码 解析(二)

一、List
二、Set
三、Map
四、Queue
五、LinkedList
六、HashMap
七、Map、HashMap、LinkedHashMap、SplayTreeMap
区别

八、命名构造函数 from 和 of 的区别以及使用建议

在这里插入图片描述

第七章 Dart 语法篇之集合操作符函数与 源码分析(三)

  • List item

在这里插入图片描述

第八章 Dart 语法篇之函数的使用(四)

在这里插入图片描述

第九章 Dart 语法篇之面向对象基础(五)

在这里插入图片描述

第十章 Dart 语法篇之面向对象继承和 Mixins(六)

在这里插入图片描述

第十二章 Dart 语法篇之类型系统与泛型 (七)

在这里插入图片描述

第十三章 Flutter 中的 widget

在这里插入图片描述