0%

      当实例化对象时,哪个更好:构造函数还是静态工厂方法? 我们来看一看。

         我相信Joshua Bloch 在他的非常不错的书 《Effective Java》 中首先说了它:与构造函数相比,静态工厂方法是实例化对象的首选方法。 我不同意。 不仅因为我相信静态方法是纯粹的邪恶,而且主要是因为在这种特殊情况下,它们形成好的方法,使我们认为我们必须偏向使用它们。

阅读全文 »

        在本文中,我们一起看一下有关 静态工厂设计模式 的知识,并展示一些使用Swift编程语言的用例。

        工厂方法模式(英语:Factory method pattern)是一种实现了“工厂”概念的面向对象设计模式。就像其他创建型模式一样,它也是处理在不指定对象具体类型的情况下创建对象的问题。工厂方法模式的实质是“定义一个创建对象的接口,但让实现这个接口的类来决定实例化哪个类。工厂方法让类的实例化推迟到子类中进行。”

阅读全文 »

了解如何在Swift中实现生成器模式,以隐藏创建具有许多单独属性的对象的复杂性。

        在 iOS 开发中,会使用到很多设计模式,生成器模式 也叫构建器模式,我们也会经常用到。在以下的行文过程中均使用生成器模式来表述。

        生成器模式(英:Builder Pattern)是一种设计模式,又名:建造模式,是一种对象构建模式。它可以将复杂对象的建造过程抽象出来(抽象类别),使这个抽象过程的不同实现方法可以构造出不同表现(属性)的对象。

阅读全文 »

清洁,模块化和可测试代码库的小技巧。

        在软件开发中,不鼓励使用单例,并且对此表示反对,但这是有充分理由的。 它们很难测试或无法测试,并且在其他类中隐式使用它们时会纠缠你的代码库,从而使代码重用变得困难。 在大多数情况下,单例模式无非是对全局易变状态的保存。 每个人至少知道这是一个糟糕的主意。 但是,单例模式 有时是不可避免和必要的错误。 我们如何以一种干净,模块化和可测试的方式将它们合并到我们的代码中?

        单例模式,也叫单子模式,是一种常用的软件设计模式,属于创建型模式的一种。在应用这个模式时,单例对象的类必须保证只有一个实例存在。许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为。比如在某个服务器程序中,该服务器的配置信息存放在一个文件中,这些配置数据由一个单例对象统一读取,然后服务进程中的其他对象再通过这个单例对象获取这些配置信息。这种方式简化了在复杂环境下的配置管理。

阅读全文 »

        Singleton 是有史以来最受争议的设计模式。了解在 iOS 项目中使用 Swift 单例类的正确方法。

         每个人都在批评的单例模式,大多数人都将其称为反模式。但是单例模式到底是什么,为什么这么差呢?

阅读全文 »

        如果您正在使用 Swift 并想对实现 NSCoding 的东西进行子类化(例如 UIViewUIViewController 等),则可能会遇到麻烦的情况。即,NSCoding 协议需要 init(coder:aDecoder) 初始化程序,这意味着如果你为超类重写了指定的初始化程序,则需要实现该初始化程序。

阅读全文 »

了解UIKit中两个常用类的初始化过程。了解UIViewcontroller和UIView初始化模式。

        UIKit 是在iOS开发过程中必须也是使用频次最高的一个类库,里面包含了许多与用户直接交互的控件比如:UIView, UITableView, UIScrollView 等。在收到用户交互的设计图之后,我们要合理的使用这些控件,就能编写出交互良好的应用。

阅读全文 »

        通过文章《后端实践二:Ubuntu18.04安装最新版Swift5.2》可以在 Ubuntu18.04 的服务器上顺利安装最新版本的 Swift 。我们参照 官网文档 安装 Vapor4.0 的开发环境。

        官网上的文档跟开发维护的速度有一定的版本误差,所以现在在官网上看到的安装方法是针对 Vapor(>3.0 && < 4.0) 的版本。由于版本间差异比较大,在实践过程中,只会关注到 Vapor(>=4.0) 以上版本的新特性。在创建工程和引入依赖库的过程中也会出现微小的差别,我们在后续的实践中会总结到。

验证 Swift 安装

        我们通过访问 Swift.org,可以得到一份如何在 Linux 上安装 Swift 的文档。我们完成对 Swift 的安装之后,在终端中输入如下命令:

        

阅读全文 »

        通过文章《后端实践一:开发环境搭建VMware下安装Ubuntu18.04》可以完成在 mac 上搭建起可用的 Ubuntu 18.04 的服务器。接下来我们要在此基础上完善 Vapor 4.0 的开发环境。

        Ubuntu 18.04 安装 Swift 5.2.2 ,可在 Vapor 官网的引导完成。这篇文章就是讲解如何完成在 Ubuntu 上安装最新版本 Swift,构建出一个强大的云端服务器。

Ubuntu 系统环境搭建

连接服务器

        这里使用的SecureCRT作为终端连接服务器,也可以使用 iTerm2 连接服务器。

阅读全文 »

        再国内使用国外的软件源普遍会比较慢,但是国内也有很多的软件源可供选择。在修改软件源之前,查看系统软件源版本:

查看版本:

1
lsb_release -c
阅读全文 »