黎克特制替換原則在現實中的應用

2021-06-29 12:42:25 字數 489 閱讀 3700

我記得在之前xx大型的網際網路公司,該公司只能算是很偽的網際網路公司,以業務為主,非技術指導的公司,所以裡面的寫業務的人員水平也是參差不齊,**在不停地重構,沒過多久又會發現**的維護難度在增加,然後又是重構,出現了惡性迴圈。每次來了新需求,都會頭疼得緊,擔心需求的改變會對上乙個版本有很大的衝擊。今天來介紹下該業務**簡單的架構知識。

其實這種做法極大地違背了黎克特制替換原則:即父類被子類修改掉了。這也造成了**的極度膨脹,以及混亂,讓新人對**的了解增加了很大的難度,因為大家不知道,該功能是否在前乙個版本被重寫掉。所以個人認為可以如下的架構

這樣的話,就不會對之前的類進行修改,那有些人會問,這樣寫的話不就會導致abstract類的膨脹以及修改。我的回答是我們這時候就需要遵守另外乙個原則了,職責單一原則。對於每乙個功能都能夠單一出來,版本迭代的大部分情況下,就只需增加新的功能,而不會去修改前乙個版本的內容,如果對前乙個版本有改動的話,只需新增乙個分支。我們始終要遵守的主旨是:對非抽象方法不修改。

個人拙見,請勿見笑!

C 中的黎克特制替換原則

黎克特制轉換原則 子類可以賦值給父類物件 父類物件可以強制轉化為對應的子類物件 黎克特制替換原則直觀理解就是 子類是父類 反過來就說不通了.就像男人是人對的,但人是男人就不對了.這樣明白了吧.在物件導向思想中可知,派生類擁有基類向下公開的所有特徵,它是基類的乙個特例。當派生類物件賦於基類型別時,將出...

物件導向的五項原則在現實中的應用

srp,單一職責原則,乙個類應該有且只有乙個改變的理由。單一職責原則 其實在現實中也很重要,就要乙個時間內只做一件事情。乙個人某個時間段內只負責乙個事情,一段時內只要把一件事情做好。老子曰 少則得,多則惑 ocp,開放封閉原則,你應該能夠不用修改原有類就能擴充套件乙個類的行為。不管是說話還是做事,自...

黎克特制替換原則的理解

一直都搞不明白黎克特制替換原則的後面兩條,到今天才知道原來是自己沒有認真思考。閒話不說,記錄下來吧以後方便檢視。黎克特制替換原則的主要作用就是規範繼承時子類的一些書寫規則。其主要目的就是保持父類方法不被覆蓋,試想一下,如果你想覆蓋父類的方法,幹嘛還要繼承他,直接重新寫乙個類不就完了。黎克特制替換原則...