物件導向的程式設計和函數語言程式設計基本相同的證據 - vavr

banq發表於2019-07-28

在靜態型別語言的上下文中,兩種範例在技術上都使用更高階函式和物件封裝。型別用於建模領域,構建器是幫助建立例項的上下文。程式碼如下:

/*
 * Search and destroy 
 */

interface Ant {
    // properties omitted
}

@FunctionalInterface
interface Poison {
    Ant apply(Ant ant);
}

final class Search {

    // omitted private constructors and instance vars

    static Search of(Criteria criteria) {
        return ...;
    }

    Ant destroy(Poison poison) {
        return poison.apply(ant);
    }
}


使用呼叫程式碼:

Ant ant = Search.of(antCriteria).destroy(poison);


 

相關文章