Wrappres' Studio.

Wrappres' Studio.

Work Hard, Play Harder

利用 Sourcery,进一步优化 Model 层,减少模板代码
先来看看效果优化前 优化后经过优化,可以发现代码行数减少了一半,而除去的代码其实就是我们为了解析 JSON 的模板代码。对于我来说这些甚至可以说是冗余的代码,我是坚决的瘦 Model 的拥护者。Model 层中除必要的数据结构,我不希望出现有其他冗余的代码,影响阅读。但我们又必须让我们 Model 拥有解析 JSON 的能力。基于上述的需求,我的解决方法是利用Sourcery实现AutoUnbox,在不增加模板代码的基础上,让 Model 实现Unboxable。(本文中以 Unbox 为例,也可替换为Codable等) 第一步: 认识Sourcery Sourcery is a cod...
iOS 面试题
计算机部分设计模式策略模式(Strategy)它定义了算法家族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化,不会影响到使用算法的客户。 装饰模式(Decorator)动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。例如:Swift 中的协议组装 代理模式(Proxy)为其他对象提供一种代理以控制对这个对象的访问。常见于 iOS 中 UIKit 中。 工厂模式(Factory Method)定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。 原型模式(Prototype)用原型实例指定创建对象的种类,并...
avatar
Wrappers
rich and money