• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            C小加

            厚德 博學 求真 至善 The bright moon and breeze
            posts - 145, comments - 195, trackbacks - 0, articles - 0
              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

            實體:變量、類、函數、名稱空間、模板和庫。

            只給一個實體賦予一個定義良好的職責。隨著實體變大,其職責范圍自然也會擴大,但不應該發散。

            如果一個實體有幾個不同的目的,則給使用帶來的難度往往會激增,因為這種實體除了會增加理解難度、復雜性和各部分中的錯誤外,還會導致其他問題。這種實體不僅更大,而且更難以使用和維護。此外,這種實體經常會為自身的一些特定用途提供有問題的接口,因為各個功能領域之間的部分重疊,會影響干凈利落地實現每個功能所需的洞察力。

            具有多個不同職責的實體通常都是難于設計和實現的。“多個職責”經常意味著“多重性格”----可能的行為和狀態的各種組合方式。應該選擇目的單一的函數,小而且目的單一的類,和邊界清晰的緊湊模塊。

            應該用較小的底層抽象構建更高層次的抽象。要避免將幾個底層抽象集合成一個較大的低層次抽象聚合體。用幾個簡單的行為來實現一個復雜的行為,比反其道而行之更加容易。

            在標準C語言中,realloc是一個臭名昭著的不良設計。這個函數承擔了太多的任務:如果傳入的指針參數為NULL就分配內存空間,如果傳入的大小參數為0就釋放內存空間,如果可行則就地重新分配,如果不行則移到其他地方分配。這個函數不易于擴展,普遍認為它是一個目光短淺的失敗設計。

            在標準C++語言中,std::basic_string是另一個臭名昭著的不良設計----巨大的類的設計。在一個臃腫的類中添加了太多“多多益善”的功能,而這只是為了試圖成為容器但卻沒有做到,在用迭代還是索引上猶豫不決,還毫無道理地重復了許多標準算法,而為擴展所留的寬裕度又很小。

            久久精品国产亚洲AV不卡| 久久无码国产| 久久精品无码一区二区日韩AV| 国产精品亚洲综合专区片高清久久久| 久久精品成人| 久久综合给合久久狠狠狠97色| 亚洲国产精品久久久久婷婷软件| 久久人人爽人人爽人人片AV麻豆| 久久精品国产亚洲av麻豆图片| 999久久久国产精品| 亚洲AV日韩精品久久久久久久| 久久免费小视频| 奇米影视7777久久精品| 久久天天躁狠狠躁夜夜2020老熟妇| 久久精品国产亚洲AV蜜臀色欲 | 久久亚洲精品无码播放| 久久超碰97人人做人人爱| 开心久久婷婷综合中文字幕| 久久99精品久久久久久久久久| 久久久久亚洲精品男人的天堂| 精品久久久久久亚洲精品| 国产aⅴ激情无码久久| 人妻无码久久精品| 7国产欧美日韩综合天堂中文久久久久| 性欧美大战久久久久久久 | 国内精品伊人久久久久777| 久久久久久久亚洲精品| 精品综合久久久久久97超人| 99久久国产宗和精品1上映| 色婷婷狠狠久久综合五月| 久久国产精品二国产精品| AAA级久久久精品无码区| 国产成人久久精品激情| 久久久久AV综合网成人 | 很黄很污的网站久久mimi色| 精品久久久久久综合日本| 国产精品久久亚洲不卡动漫| 国产精品久久久久久一区二区三区 | 亚洲午夜精品久久久久久浪潮 | 久久国产精品无码一区二区三区 | 亚洲精品成人久久久|