函式式程式的模組化和物件的模組化

2021-07-13 18:15:10 字數 1616 閱讀 2997

(define random-init1)

(define

(rand-update x)

(remainder

(+ (*

13 x)

5)24))

(define

(random-numbers op-stream)

(define

(numbers last-value op-stream)

(let

((op

(stream-car op-stream)))

(cond

((pair? op)

(cons-stream

(cadr op)

(numbers

(cadr op)

(stream-cdr op-stream))))

(else

(let

((next-value

(rand-update last-value)))

(cons-stream next-value (numbers next-value (stream-cdr op-stream))))))))

(numbers random-init op-stream))

(define the-op-stream (list->stream '(generate

(reset

9))))

(define the-random-numbers (random-numbers the-op-stream))

;要檢視流中的全部元素,不能用「流.scm」裡定義的show-n,因為最後只有乙個元素的時候,op-stream是空,但還會呼叫numbers過程,所以需要利用延時求值

(define

(show-n-2 s n)

(if (=

n0)'()

(let

((the-s

(force

s)))

(cons

(stream-car the-s)

(show-n-2

(delay

(stream-cdr the-s))

(- n1))))))

(show-n-2

(delay

the-random-numbers)

2);參考sicp-solution隱式定義的版本:

(define

(random-numbers op-stream)

(define numbers

(cons-stream random-init

(stream-map

(lambda

(num

op)(if (pair? op)

(cadr op)

(rand-update num)))

numbers op-stream)))

(stream-cdr numbers))

(define the-random-numbers (random-numbers the-op-stream))

(show-n-2

(delay

the-random-numbers)

2)

Struts Gossip 模組化程式

來源 http caterpillar.onlyfun.net gossip struts moduleunit.htm struts中很多設定都是在struts config.xml中加以設定,在大型網站的開發中,有很多小團隊會負責不同的模組,如果每乙個團隊都要對struts config.xml...

什麼是模組化?模組化的好處

1.高內聚低耦合,有利於團隊作戰,當專案很複雜的時候,將專案劃分為子模組分給不同的人開發,最後再組合在一起,這樣可以降低模組與模組之間的依賴關係體現低耦合,模組又有特定功能體現高內聚。2.可重用,方便維護,模組的特點就是有特定功能,當兩個專案都需要某種功能的時候,我們定義乙個特定的模組來實現該功能,...

什麼是模組化?模組化的好處

什麼是模組化?j a 應用架構設計 模組化模式與 osgi 一書中對它的定義是 模組化是一種處理複雜系統分解為更好的可管理模組的方式。所謂的模組化開發就是封裝細節,提供使用介面,彼此之間互不影響,每個模組都是實現某一特定的功能。模組化開發的基礎就是函式。模組化開發使 耦合度降低,模組化的意義在於最大...