使用场景:数据model的创建
意义:
1、避免直接取字典、JSON等集合类型里的数据。一个是因为数据集合里面的数据类型不清楚,另一个是数据变动,对使用者不友好。
2、避免暴露数据处理的细节。数据处理细节暴露过多,散落的代码不容易管理,耦合性高。
简单的使用对比:
使用前
var products = [
("Kayak","A boat for one person","Watersports",275.0,10),
("Lifejecket","Protective and fashionable","Watersports",48.95,14)]
使用后
var products = [
Product.init(name: "Kayak",
description: "A boat for one person",
category: "Watersports",
price: 275.0,
stockLevel: 10),
Product.init(name: "Lifejecket",
description: "Protective and fashionable",
category: "Watersports",
price: 48.95,
stockLevel: 14)]
Demo
这个比较简单,就写的很少。主要是跟随Swift
版本的设计模式来的,一方面学习Swift
,一方面学习设计模式。环境是macos10.12
、iOS10.2
,低于这个版本,storyboard
会打不开。
有一个示例程序ObjectTemplate
。还有一个不断叠加设计模式的主工程SportsStoreDemo
,涉及到的类有Product.swift
demo
写在后面:
我写的关于设计模式内容,都是来自书《精通Swift设计模式》
,如果有兴趣可以直接买来看看,不用看我的"歪曲理解"。我只是一个搬运工,记录过程,记录一点浅显的理解🙏。