闲谈编程思想(iOS)<一>

2017-03-16  本文已影响292人  _苏丽君_

目前聊的编程思想有以下几个。欢迎吐槽补充。

1.面向对象

例子:以女朋友为对象。你的女朋友要吃大餐,所有的女朋友都想要礼物。

编程代码:

GirlFriend *yourGirlFriend = [[GirlFriend alloc]init];

[yourGirlFriend wantEatBigDinner];

[GirlFriend wantGift];

特点:万物皆对象。无论是吃还是要礼物,都是围绕对象发生的 ,对象可以是你的(someBody)女朋友,也可以是女朋友这个类。(题外话:所有女朋友都想要礼物(包括我),此处大写我的心愿:礼物+吃大餐....)

2.面向过程

还是以吃大餐为题:面向过程就是:两人进店--> 点大餐-->女朋友吃大餐-->男朋友结账->两人离开

特点:一步一步实现,依次实现、不能离开大餐馆之后再去吃大餐。这样就乱了。这里巴拉巴拉C语言基本编程都是面向过程的,大家可以看一下 。

3.链式编程思想

代表作:masonry

上面巴拉那么多无非是想让我男请吃大餐,买礼物,有编程基础的人都知道面向对象和面向过程。

至于链式编程思想,也是最近用masonry适配,觉得这个链式编程可读性相当高。特此学习。链式编程思想特点:是将多个操作(多行代码)通过点号(.)链接在一起成为一句代码。a(1).b(2).c(3)。

下面粘贴一段demo。 比如我想要表达我三月想要阿玛尼粉底液,四月份想要YSL的口红。五月份想要Coach的包包、怎么样像masonry一样,将不同的方法用一句代码表达出来。

1.首先,要有女朋友,和礼物这个类。其次要有一个女朋友+礼物 的扩展类。好处不多说,主要是为了解耦合。

下面粘贴代码:

首先,三个类定义出来。

Gift.h里面有giftName属性,储存你想要的所有礼物、两个方法,分别是某月。想要什么礼物、

Gift.m里面实现,这里很简单,拼接字符串、

GirlFirend+Gift.h

GirlFirend+Gift.m

GirlFirend.m和GirlFirend.h在这个需求里面不做操作,因为操作被类目做了 。

下面就是使用了 。

运行结果:

这样,你的礼物清单就出来了 。链式编程主要是运用block。方法的返回值是block,block必须有返回值(本身对象),block参数(需要操作的值)。

下篇文章会讲响应式编程和函数式编程。

上一篇下一篇

猜你喜欢

热点阅读