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

歡迎訪問 生活随笔!

生活随笔

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

asp.net

23种设计模式及OOP7大原则

發布時間:2025/3/15 asp.net 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 23种设计模式及OOP7大原则 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、 23種Java設計模式介紹

  • 概述

    設計模式是針對某一類問題的最優解決方案,是從許多優秀的軟件系統中總結出的。Java中設計模式(java design patterns)通常有23種。模式可以分成3類:創建型、行為型和結構型。

  • 創建型模式:避免用戶直接使用new創建對象

    創建型模式涉及對象的實例化,特點是不讓用戶代碼依賴于對象的創建或排列方式,避免用戶直接使用new創建對象。
    創建型模式有以下5個:工廠方法模式 、抽象工廠方法模式、生成器模式、原型模式 、單例模式

  • 行為型模式:設計對象之間的交互通信
    行為型模式涉及怎樣合理的設計對象之間的交互通信,以及怎樣合理為對象分配職責,讓設計富有彈性,易維護,易復用。行為型模式有以下11個:責任鏈模式、命令模式、解釋器模式、迭代器模式、中介者模式、備忘錄模式、觀察者模式、狀態模式、策略模式、模板方法模式和訪問者模式

  • 結構型模式:合理使用繼承機制

    結構型模式涉及如何組合類和對象以形成更大的結構,和類有關的結構型模式涉及如何合理使用繼承機制;和對象有關的結構型模式涉及如何合理的使用對象組合機制。結構型模式有以下7個:適配器模式、組合模式、代理模式、享元模式、外觀模式、橋接模式和裝飾模式。

  • 二、OOP7大原則

  • 單一職責原則 – SRP(原子性,方法實現的功能要單一,七大原則的總綱)
  • (Single Responsibility Principle) 優化代碼的第一步

    一個類中應該是一組相關性很高的函數、數據的封裝。

  • 開閉原則 – OCP(對擴展開放,對修改關閉)
  • (Open Close Principle) 讓程序更穩定、更靈活

    軟件中的對象(類、模塊、函數等)應該對于擴展是開放的,但是對于修改是封閉的。 在軟件的生命周期內,因為變化、升級和維護等原因需要對軟件原有代碼進行修改時,可能會將錯誤引入原本已經經過測試的舊代碼中,破壞原有系統。因此,當軟件需要變化時,我們應該盡量通過擴展的方式來實現變化,而不是通過修改已有的代碼來實現。

  • 里氏替換原則 – LSP(子類可以擴展父類的功能,但不要改變父類的功能)
  • (Liskov Substitution Principle) 構建擴展性更好的系統

    有引用基類的地方必須能夠透明地使用其子類的對象。 舉個例子:如果對每一個類class1的對象o1,都有類class2的對象o2,使得以class1定義的所有程序P在所有對象o1都替換成o2的時候,程序P的行為都沒有發生變化,那么類型class2是類型class1的子類型。

    通俗點講,只要父類出現的地方子類就可以出現,而且替換為子類也不會產生任何錯誤和異常。

  • 依賴倒置原則 – DIP (抽象不依賴細節,細節依賴抽象)
  • (Dependence Inversion Principle) 讓項目擁有變化的能力

    依賴倒置原則指代了一種特定的解耦形式,使得高層次的模塊不依賴與低層次的模塊的實現細節的目的。

    依賴倒置原則有以下幾個關鍵點:

    高層模塊不應該依賴于底層模塊,兩者都應該依賴其抽象;
    抽象不應該依賴細節;細節應該依賴抽象。
    依賴導致原則在Java語言中的表現就是:模塊間的依賴關系通過抽象發生,實現類之間不發生直接依賴關系,其依賴關系是通過接口或抽象類產生的。在編程過程中盡量面向接口編程,也就是說在寫一個類前先寫一個接口,然后用一個類來實現這個接口,通過面向接口編程,我們的程序就有了很高的擴展性,降低了類與類之間的依賴性,使實現類更依賴于接口,而不是其他實現類,提高了系統的穩定性。

  • 接口隔離原則 – ISP (為各個類建立他們需要的專用接口)
  • (Interface Segregation Principle) 系統有更高的靈活性

    客戶端不應該依賴于它不需要的接口。 另一種定義是:類間的依賴關系應該建立最小的接口上,不應該依賴于它不需要的接口。接口隔離原則將非常龐大的、臃腫的接口拆分成更小的和更具體的接口。簡單來說就是接口應該盡量細分,使每一個類都沒有它不需要實現的方法。

  • 迪米特原則 – LOD (只和“朋友”交談,不和“陌生人”聯系)
  • (Law of Demeter) 更好的可擴展性

    一個對象應該對其他對象有最少的了解。 通俗的講,一個類應該對自己需要耦合或調用的類知道的最少,類的內部如何實現與調用者或依賴者沒關系,調用者或依賴者只需要知道它需要的方法即可。當我們在編寫一個類時,這個類的屬性能私有化就私有化,盡量不與其他類產生聯系。一個對象應該對其他對象保持最少的了解,簡單的理解就是高內聚,低耦合。

  • 合成復用原則–CRP (多使用合成,而不是繼承的方式)
  • (Conposite Reuse Principle)

    盡量使用合成/聚合的方式,而不是使用繼承。

    總結

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

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