奇风 悟道之地

Thinking will not overcome fear but action will.

组件、插件、模块、子应用、库、框架等概念辨析

组件、插件、模块、子应用、库、框架等概念辨析 网上有许多讲组件化、模块化等概念的文章,但大家一般都是将这两个概念混为一谈的,并没有加以区分。而且实际上许多人对于组件、插件、模块、子应用等概念的区别也不甚明了,甚至于许多博客文章专门解说这几个概念都有些谬误。 之前已经写了一篇文章专门对组件和模块两个概念进行辨析,现在我们对于更多的概念在更高的层次上进行辨析。 想分清这几个概念我觉得结合一下软...

用自然语言讲清控制反转(ioc)和依赖注入(di)

目的 控制反转(Inversion of Control,简称IoC)和依赖注入(Dependency Injection,简称DI),是软件设计中的一种思想,并非特指具体的技术。那么既然只是思想,那么就能够不使用编程语言来讲清楚。 那么,本文将使用日常的自然语言,讲清IoC/DI到底是什么。 例子 通过具体的例子是讲解思想的最好方法,所以我们就通过一个实际的例子来进行下面的讲述。 第...

[ios问题记录本]ios8使用wkwebview报错0x0

iOS问题记录本:iOS8/Swift/WKWebView/address=0x0错误 0、背景描述 前一段时间,公司有个小的新项目,因为考虑到项目本身没有任何技术要求,所以决定采用Swift加上WKWebView的方案进行开发;而且前一段时间团队内部也进行了基础开发库Swift化的工作,这个项目也可以用来检验之前的工作。 当然,吃螃蟹必然是要付出一些代价的,不过因为项目本身的规模很小,...

组件化开发和模块化开发概念辨析

组件化开发和模块化开发概念辨析 网上有许多讲组件化开发、模块化开发的文章,但大家一般都是将这两个概念混为一谈的,并没有加以区分。而且实际上许多人对于组件、模块的区别也不甚明了,甚至于许多博客文章专门解说这几个概念都有些谬误。 想分清这两个概念我觉得结合一下软件的渐进式开发场景更容易理解。但是下面的篇幅会比较长,所以我先说结论,不耐烦的同学可以先看: 概念区别 对比 | 类别 | 目的 ...

Objective-C学以致用:Method Swizzling

Method Swizzling解析

Method Swizzling还没有一个广泛接受的译名,我个人认为比较容易理解的一个是方法变换。简单的说,它就是在运行期修改类中方法所对应的实现的技术。 在本文中,我们就将方法变换的来龙去脉捋一遍。 在捋这个来龙去脉的时候,我们需要把握住三个原则:格物致知,深入浅出,学以致用。 其中,格物致知是方法,深入浅出是成果,学以致用是目的。 1.格物:明白其原理 方法变换的技术基础在于Obje...