美文网首页
03Dart:创建工厂模式

03Dart:创建工厂模式

作者: tanhh | 来源:发表于2018-10-31 15:44 被阅读0次

在 Java 中工厂类是一个广泛使用的设计模式,它相比较直接对类进行实例化来说,具有诸多优势,比如隐藏实例化的具体细节,提供可以配置为其他类的能力,直接返回一个已有的对象而不是直接返回一个新的对象。

import 'dart:math';

abstract class Shape {

  factory Shape(String type) {

    if (type == 'circle') return Circle(2);

    if (type == 'square') return Square(2);

    throw 'Can\'t create $type.';

  }

  num get area;

}

class Circle implements Shape {

  final num radius;

  Circle(this.radius);

  num get area => pi * pow(radius, 2);

}

class Square implements Shape {

  final num side;

  Square(this.side);

  num get area => pow(side, 2);

}

// Dart 支持抽象类

// 你可以在一个文本中定义多个类

// dart.math 是一个 Dart 核心库,其余的还有诸如 dart:core,dart:async,dart:convert 和 dart:collection 这样的核心库

// 在 Dart 1.x 的版本中,核心库中的常量是大写的(比如 PI);在 Dart 2 的版本中,都是小写的(pi)。

// 该代码包含了两个 getter 方法,分别用来计算圆的面积和四边形的面积

// num get area => pi * pow(radius, 2); // Circle

// num get area => pow(side, 2); // Square

Shape shapeFactory(String type) {

  if (type == 'circle') return Circle(2);

  if (type == 'square') return Square(2);

  throw 'Can\'t create $type.';

}

main() {

//  final circle = Circle(2);

//  final square = Square(2);

//    final circle = shapeFactory('circle');

//  final square = shapeFactory('square');

    final circle = Shape('circle');

  final square = Shape('square');

  print(circle.area);

  print(square.area);

}

相关文章

  • 03Dart:创建工厂模式

    在 Java 中工厂类是一个广泛使用的设计模式,它相比较直接对类进行实例化来说,具有诸多优势,比如隐藏实例化的具体...

  • 设计模式(1) 工厂方法模式

    创建型模式 简单工厂模式 工厂方法模式IOC与工厂方法模式的结合泛型工厂委托工厂 创建型模式 创建型模式可以隔离客...

  • 设计模式 -- 工厂模式

    设计模式 -- 工厂模式 工厂模式 1. 什么是工厂模式 工厂模式属于创建对象的模式。将对象的创建交给工厂进行,这...

  • 常用设计模式 精简总结

    创建型模式 工厂模式:创建工厂接口类(规范),子类(工厂)实现业务。 抽象工厂模式:工厂的创建由子类决定,其子类的...

  • 设计模式——工厂设计模式

    简单工厂模式(静态工厂模式) 简单工厂模式是属于创建型模式,是工厂模式的一种。简单工厂模式是由一个工厂对象决定创建...

  • 设计模式——工厂模式和抽象工厂模式

    Java设计模式——工厂模式 工厂模式和抽象工厂模式都属于创建型模式。 创建型模式这些设计模式提供了一种在创建对象...

  • 2. 设计模式与架构

    一、 设计模式 创建型模式抽象工厂模式(AbstractFactory)、工厂模式(Factory)、创建者模式(...

  • Android设计模式(一)-工厂模式

    工厂模式是创建性模式,总共分为三种:简单工厂模式,工厂方法模式,抽象工厂模式 什么是工厂模式? 定义一个用户创建对...

  • Kotlin(八)kotlin设计模式-创建型

    创建型模式 - 工厂 Kotlin里面几种主流创建型设计模式:工厂方法模式,抽象工厂模式,构建者模式 8.1 伴生...

  • iOS 工厂模式的简单使用

    这里使用的是简单工厂模式。 简单工厂模式的定义:简单工厂模式是属于创建型模式,简单工厂模式是由一个工厂对象决定创建...

网友评论

      本文标题:03Dart:创建工厂模式

      本文链接:https://www.haomeiwen.com/subject/lupatqtx.html