目前聊的編程思想有以下幾個凸椿。歡迎吐槽補充杂穷。
1.面向?qū)ο?/p>
例子:以女朋友為對象拾碌。你的女朋友要吃大餐,所有的女朋友都想要禮物第喳。
編程代碼:
GirlFriend *yourGirlFriend = [[GirlFriend alloc]init];
[yourGirlFriend wantEatBigDinner];
[GirlFriend wantGift];
特點:萬物皆對象糜俗。無論是吃還是要禮物,都是圍繞對象發(fā)生的 曲饱,對象可以是你的(someBody)女朋友悠抹,也可以是女朋友這個類。(題外話:所有女朋友都想要禮物(包括我)扩淀,此處大寫我的心愿:禮物+吃大餐....)
2.面向過程
還是以吃大餐為題:面向過程就是:兩人進店--> 點大餐-->女朋友吃大餐-->男朋友結(jié)賬->兩人離開
特點:一步一步實現(xiàn)楔敌,依次實現(xiàn)、不能離開大餐館之后再去吃大餐驻谆。這樣就亂了卵凑。這里巴拉巴拉C語言基本編程都是面向過程的,大家可以看一下 胜臊。
3.鏈式編程思想
代表作:masonry
上面巴拉那么多無非是想讓我男請吃大餐勺卢,買禮物,有編程基礎(chǔ)的人都知道面向?qū)ο蠛兔嫦蜻^程象对。
至于鏈式編程思想黑忱,也是最近用masonry適配,覺得這個鏈式編程可讀性相當(dāng)高勒魔。特此學(xué)習(xí)甫煞。鏈式編程思想特點:是將多個操作(多行代碼)通過點號(.)鏈接在一起成為一句代碼。a(1).b(2).c(3)沥邻。
下面粘貼一段demo危虱。 比如我想要表達我三月想要阿瑪尼粉底液,四月份想要YSL的口紅唐全。五月份想要Coach的包包埃跷、怎么樣像masonry一樣,將不同的方法用一句代碼表達出來邮利。
1.首先弥雹,要有女朋友,和禮物這個類延届。其次要有一個女朋友+禮物 的擴展類剪勿。好處不多說,主要是為了解耦合方庭。
下面粘貼代碼:
首先厕吉,三個類定義出來酱固。
Gift.h里面有g(shù)iftName屬性,儲存你想要的所有禮物头朱、兩個方法运悲,分別是某月。想要什么禮物项钮、
Gift.m里面實現(xiàn)班眯,這里很簡單,拼接字符串烁巫、
GirlFirend+Gift.h
GirlFirend+Gift.m
GirlFirend.m和GirlFirend.h在這個需求里面不做操作署隘,因為操作被類目做了 。
下面就是使用了 亚隙。
運行結(jié)果:
這樣磁餐,你的禮物清單就出來了 。鏈式編程主要是運用block恃鞋。方法的返回值是block,block必須有返回值(本身對象)崖媚,block參數(shù)(需要操作的值)。
下篇文章會講響應(yīng)式編程和函數(shù)式編程恤浪。