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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

关于设计模式

發布時間:2024/4/15 asp.net 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于设计模式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

整篇文章在開頭提出以下三個問題:

  • 問題一:你真的了解面向對象嗎?
  • 問題二:你準確的知道什么是模式嗎?
  • 問題三:你知道如何使用設計模式嗎?
  • 這里也放在最前面用于思考。


    什么是設計模式?

    模式是針對特定場景下的特定問題的可復用、可表達的解決方案。

    面向模式設計是從分析到實現的設計模式,基于模式的分析使你成為一個更有力、更高效的分析者,因為它們讓你更抽象的處理你的模型;其幫助人們學習面向對象的原則,幫助解釋“為什么我們要這樣處理這些對象” 使用模式的觀念:如何使用模式來理解問題(概念)領域,而不僅僅在理解問題領域后使用模式來完成一個設計。

    程序設計的錯誤思路:先創建問題領域中的類,然后將這些類縫合起來組成最終的系統。?


    為什么要使用設計模式?

    研究使用設計模式和面對對象編程的最本質原因是:需求中存在變化的部分。

    根本目的是:更好的復用我們的代碼解決實際需求中的問題,OO達到可復用、可擴展、易維護的目的。

    先學習兩個概念,所有程序設計中都要求的基本原則之一:高內聚,低耦合

    • 內聚度:程序內操作之間的聯系緊密的程度,描述一個子程序內部成分之間相互聯系的強度
    • 耦合度:程序之間的聯系緊密的程度,描述一個程序與其他程序之間的相互聯系的強度

    使用功能分解的方式設計程序,變化的需求分讓我們的程序和維護成本大大增加(因為一個函數或數據結構的變化會影響其他的函數和數據,于是受影響的部分也得修改,這種滾雪球似的使bug增加) ?


    面向對象設計的要點?

    好的調度或控制程序關注能做什么,不關心怎樣去做,將職責分配下去 對象是一個擁有行為動作和自我狀態的東西 對象的好處:可以定義自己負責的東西。 好的設計原則:對象對自己負責,并且這種責任應該被明確的定義出來 觀察對象的視角:

    • 概念視角:抽象建模
    • 規格視角:有哪些能力
    • 實現視角:怎樣實現

    封裝帶來的優勢:

    • 讓對象為自己的行為負更多的責任,控制程序負擔的責任就越少
    • 封裝讓一個對象內部狀態和行為的變化對對象調用者透明
    • 封裝幫助我們避免因需求變化帶來的bug的影響

    ?

    模式之間的關系?

    一般來書,要構建一個系統,你需要將很多模式結合起來使用。不同的設計者可能會使用不同的模式來解決同一個問題。通常:

    • 很多模式通常可以很好的相互結合
    • 一個模式可能會依賴與另一個
    • 一些模式是類似的,都是可選的
    • 模式是易于發現和描述的
    • 模式不是方法或框架
    • 模式為你提供解決問題的高效方案

    ? ? ?

    轉載于:https://www.cnblogs.com/oubo/archive/2012/02/02/2394627.html

    總結

    以上是生活随笔為你收集整理的关于设计模式的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。