日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

flex布局水平垂直 垂直_垂直和水平装饰

發(fā)布時間:2023/12/3 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 flex布局水平垂直 垂直_垂直和水平装饰 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

flex布局水平垂直 垂直

裝飾器模式是在不更改其接口的情況下向?qū)ο筇砑庸δ艿淖罴逊椒ㄖ弧?我經(jīng)常使用可組合裝飾器,并且總是會問自己在功能列表必須可配置時如何正確設(shè)計它們。 我不確定我的答案是否正確,但是這里有一些值得深思的地方。

The Apartment(1960),比利·懷爾德(Billy Wilder)

假設(shè)我有一個數(shù)字列表:

interface Numbers {Iterable<Integer> iterate(); }

現(xiàn)在,我想創(chuàng)建一個僅包含奇數(shù),唯一,正數(shù)和排序數(shù)的列表。 第一種方法是垂直的 (我剛剛將其命名):

Numbers numbers = new Sorted(new Unique(new Odds(new Positive(new ArrayNumbers(new Integer[] {-1, 78, 4, -34, 98, 4,})))) );

第二種方法是水平的 (同樣,我做了一個名字):

Numbers numbers = new Modified(new ArrayNumbers(new Integer[] {-1, 78, 4, -34, 98, 4,}),new Diff[] {new Positive(),new Odds(),new Unique(),new Sorted(),} );

看到不同? 第一種方法“垂直”修飾ArrayNumbers ,通過可組合修飾符Positive , Odds , Unique和Sorted添加功能。

第二種方法引入了新的接口Diff ,該接口通過Positive , Odds , Unique和Sorted實例實現(xiàn)了迭代數(shù)字的核心功能:

interface Diff {Iterable<Integer> apply(Iterable<Integer> origin); }

對于numbers用戶,這兩種方法是相同的。 區(qū)別僅在于設(shè)計。 哪個更好?何時? 似乎垂直裝飾更易于實現(xiàn),并且更適合于只暴露一些方法的較小對象。

根據(jù)我的經(jīng)驗,我總是傾向于從垂直裝飾開始,因為它易于實現(xiàn),但隨著裝飾器數(shù)量的增加最終會遷移到水平裝飾。

翻譯自: https://www.javacodegeeks.com/2015/10/vertical-and-horizontal-decorating.html

flex布局水平垂直 垂直

總結(jié)

以上是生活随笔為你收集整理的flex布局水平垂直 垂直_垂直和水平装饰的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。