11 2008 檔案

          冒號(hào)課堂§4.1:函數(shù)范式
               摘要: 函數(shù)范式——精巧的數(shù)學(xué)思維(再談函數(shù)式編程
          ? 單靠記憶只能觸及知識(shí)之表,單靠練習(xí)只能深入知識(shí)之里,唯有培養(yǎng)方能滲透知識(shí)之根
          ? 學(xué)會(huì)適度地容忍無知
          ? 不僅需要強(qiáng)調(diào)鉆勁和深度的“釘子精神”,還需要強(qiáng)調(diào)磨功和廣度的“刨子精神”
          ? 編程語言的語法、語義等都是從編程范式的樹根衍生而出的枝葉,把握了這種脈絡(luò)和節(jié)奏,代碼才會(huì)如音樂舞蹈般韻律有致
          ? 每種范式擅長的問題領(lǐng)域不盡相同,只有博聞廣識(shí),方可揚(yáng)長避短,程序才會(huì)如行云流水般流暢自然
          ? 程序員更習(xí)慣機(jī)器風(fēng)格的過程式思維和現(xiàn)實(shí)風(fēng)格的OOP思維,不容易接納數(shù)學(xué)風(fēng)格的函數(shù)式思維  閱讀全文

          posted @ 2008-11-30 22:27 鄭暉 閱讀(3235) | 評(píng)論 (3)  編輯

          冒號(hào)課堂§3.4:事件驅(qū)動(dòng)
               摘要: 事件驅(qū)動(dòng)——有事我叫你,沒事別煩我(事件驅(qū)動(dòng)式編程簡談
          ? 它們(同步回調(diào)和異步回調(diào))都使調(diào)用者不再依賴被調(diào)者,將二者從代碼上解耦,異步調(diào)用更將二者從時(shí)間上解耦
          ? 它們(控制反轉(zhuǎn)、依賴反轉(zhuǎn)和依賴注射)的主題是控制與依賴,目的是解耦,方法是反轉(zhuǎn),而實(shí)現(xiàn)這一切的關(guān)鍵是抽象接口
          ? “回調(diào)”強(qiáng)調(diào)的是行為方式——底層反調(diào)高層,而“抽象接口”強(qiáng)調(diào)的是實(shí)現(xiàn)方式——正是由于接口具有抽象性,底層才能在調(diào)用它時(shí)無需慮及高層的具體細(xì)節(jié),從而實(shí)現(xiàn)控制反轉(zhuǎn)
          ? 控制反轉(zhuǎn)導(dǎo)致了事件驅(qū)動(dòng)式編程的被動(dòng)性
          ? 事件驅(qū)動(dòng)式還具有異步性的特征,這是由事件的不可預(yù)測性與隨機(jī)性決定的
          ? 獨(dú)立是異步的前提,耗時(shí)是異步的理由
          ? 出版/訂閱模式正是觀察者模式的別名,一方面可看作簡化或退化的事件驅(qū)動(dòng)式,另一方面可看作事件驅(qū)動(dòng)式的核心思想  閱讀全文

          posted @ 2008-11-24 08:37 鄭暉 閱讀(4105) | 評(píng)論 (5)  編輯

          冒號(hào)課堂§3.3:切面范式
               摘要: 切面范式——多角度看問題(AOP簡談
          ? 從宏觀角度看,太陽底下沒有新鮮事——AOP無非是SoC原理和DRY原則的一種應(yīng)用
          ? 從微觀角度看,太陽每天都是新的——AOP雖自O(shè)OP的土壤中長出,卻脫離藩籬自成一體
          ? 抽象是前提,分解是方式,模塊化是結(jié)果
          ? 在常人眼中復(fù)雜的牛體,庖丁經(jīng)過抽象,已目無全牛,及至提刀分解,自是游刃有余。待牛如土委地,模塊化既成
          ? 兩條(抽象與分解的原則):單一化,正交化。每個(gè)模塊職責(zé)明確專一,模塊之間相互獨(dú)立,即高聚合低耦合
          ? 對程序員來說,英語也是一門計(jì)算機(jī)語言,而且是必修的語言
          ? OOP只能沿著繼承樹的縱向方向重用,而AOP則彌補(bǔ)了OOP的不足,可以在橫向方向重用
          ? 如果一個(gè)程序是一個(gè)管道系統(tǒng),AOP就是在管道上鉆一些孔,在每個(gè)孔中注入新的代碼流  閱讀全文

          posted @ 2008-11-17 08:35 鄭暉 閱讀(3167) | 評(píng)論 (0)  編輯

          冒號(hào)課堂§3.2:超級(jí)范式
               摘要: 超級(jí)范式——提升語言的級(jí)別(元編程簡談
          ? 元編程作為超級(jí)范式的一個(gè)體現(xiàn)是,它能提升語言的級(jí)別
          ? 如果說OOP的關(guān)鍵在于構(gòu)造對象的概念,那么LOP的關(guān)鍵在于構(gòu)造語言的語法
          ? 離開IDE就無法編寫、編譯或調(diào)試的程序員,如同卸盔下馬后便失去戰(zhàn)斗力的武士,是殘缺和孱弱的
          ? 既然有重復(fù)的代碼,不能從語法上提煉,不妨退一步從文字上提煉
          ? 元程序?qū)⒊绦蜃鳛閿?shù)據(jù)來對待,能自我發(fā)現(xiàn)、自我賦權(quán)和自我升級(jí),有著其他程序所不具備的自覺性、自適應(yīng)性和智能性,可以說是一種最高級(jí)的程序  閱讀全文

          posted @ 2008-11-10 23:40 鄭暉 閱讀(2341) | 評(píng)論 (0)  編輯

          冒號(hào)課堂§3.1:泛型范式
               摘要: 泛型范式——抽象你的算法(泛型式編程簡談)
          ? 算法串聯(lián)數(shù)據(jù),如脊貫肉;數(shù)據(jù)實(shí)化算法,如肉附脊
          ? 泛型編程是算法導(dǎo)向的,即以算法為起點(diǎn)和中心點(diǎn),逐漸將其所涉及的概念內(nèi)涵模糊化、外延擴(kuò)大化,將其所涉及的運(yùn)算抽象化、一般化,從而擴(kuò)展算法的適用范圍
          ? 思想是雞,結(jié)論是蛋  閱讀全文

          posted @ 2008-11-05 23:35 鄭暉 閱讀(2872) | 評(píng)論 (1)  編輯

          冒號(hào)課堂§2.4:并發(fā)范式
               摘要: 并發(fā)范式——合作與競爭(并發(fā)式編程簡談
          ? 有誰愿意駕駛一輛啟動(dòng)后不能剎車、不能倒車、不能變速、油盡方停的汽車呢?
          ? 并發(fā)式編程以進(jìn)程為導(dǎo)向、以任務(wù)為中心將系統(tǒng)模塊化
          ? 并發(fā)式編程以資源共享與競爭為主線  閱讀全文

          posted @ 2008-11-04 00:33 鄭暉 閱讀(1254) | 評(píng)論 (2)  編輯

          冒號(hào)課堂§2.3:對象范式
               摘要: 對象范式——民主制社會(huì)的編程法則(OOP簡談
          ? 如果把整個(gè)流程看作一顆倒長的大樹,過程式編程自樹根向下,逐漸分支,直到每片樹葉,類似數(shù)學(xué)證明中的分析法,即執(zhí)果索因的逆推法;OOP則從每片樹葉開始,逐漸合并,直到樹根,類似數(shù)學(xué)證明中的綜合法,即執(zhí)因索果的正推法
          ? 與其說OOP更具重用性,不如說更具易用性
          ? 函數(shù)是被動(dòng)的實(shí)體,對象是主動(dòng)的實(shí)體
          ? 過程式程序的世界是君主制的;OO程序的世界是民主制的  閱讀全文

          posted @ 2008-11-04 00:20 鄭暉 閱讀(1442) | 評(píng)論 (3)  編輯

          冒號(hào)課堂§2.2:聲明范式
               摘要: 聲明范式——目標(biāo)決定行動(dòng)(聲明式編程簡談
          ? 命令式編程是行動(dòng)導(dǎo)向的,因而算法是顯性而目標(biāo)是隱性的;聲明式編程是目標(biāo)驅(qū)動(dòng)的,因而目標(biāo)是顯性而算法是隱性的
          ? 聲明式編程重目標(biāo)、輕過程,專注問題的分析和表達(dá)而不致陷入算法的迷宮,其代碼也更加簡潔清晰、易于修改和維護(hù)
          ? 歸根結(jié)底,編程是尋求一種機(jī)制,將指定的輸入轉(zhuǎn)化為指定的輸出  閱讀全文

          posted @ 2008-11-03 23:27 鄭暉 閱讀(2606) | 評(píng)論 (0)  編輯

          冒號(hào)課堂§2.1:命令范式
               摘要: 命令范式——一切行動(dòng)聽指揮(命令式編程簡談
          ? (命令式編程)其世界觀是:程序是由若干行動(dòng)指令組成的有序列表;其方法論是:用變量來儲(chǔ)存數(shù)據(jù),用語句來執(zhí)行指令
          ? (結(jié)構(gòu)化編程)在微觀上,主張循規(guī)守矩;在宏觀上,主張分而治之
          ? 一個(gè)按結(jié)構(gòu)化編程思想設(shè)計(jì)的流程圖,每個(gè)模塊大小適中、模塊之間關(guān)系簡明、模塊內(nèi)部線路清晰,單從視覺上就會(huì)給人一種美感  閱讀全文

          posted @ 2008-11-03 23:16 鄭暉 閱讀(2914) | 評(píng)論 (2)  編輯

          導(dǎo)航

          統(tǒng)計(jì)

          公告

          博客搬家:http://blog.zhenghui.org
          《冒號(hào)課堂》一書于2009年10月上市,詳情請見
          冒號(hào)課堂

          留言簿(17)

          隨筆分類(61)

          隨筆檔案(61)

          文章分類(1)

          文章檔案(1)

          最新隨筆

          積分與排名

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 西昌市| 固始县| 舟曲县| 洛浦县| 灵丘县| 左权县| 桐庐县| 曲阳县| 平昌县| 新竹县| 连山| 垣曲县| 临夏县| 于田县| 开江县| 江津市| 渭南市| 江油市| 阳朔县| 新建县| 河北省| 河源市| 合川市| 洪湖市| 鸡东县| 大港区| 九江市| 马鞍山市| 河曲县| 澄江县| 龙江县| 福海县| 安阳县| 横山县| 容城县| 宜兰县| 北辰区| 新乐市| 苗栗县| 石楼县| 通州区|