Python 裡沒有介面,如何寫設計模式?

時間 2021-05-11 16:16:36

1樓:

介面的出現是為了解決強型別語言中,不同型別引數需要不同的方法進行過載的問題,介面更為清楚的描述了各個類和方法之間的關係。duck typy語言由於其本身特性,不需要方法過載,所以不需要介面來幫助實現。

2樓:傅紅雪

Python的設計模式問題可以參考

從Python角度重新審視了那二十幾種模式, (然而很多用不到, 作者會解釋為什麼用不到

貌似市面上講Python設計模式的只此一本.

3樓:「已登出」

動態語言基本不用設計模式,設計模式主要是要繞過靜態語言強型別編譯器判定的,有了duck type就不需要了。動態語言推薦你去看看元程式設計,就醬

4樓:劉啟明

看到這個問題,突然覺得設計模式真是乙個很容易被誤解的東西實際上軟體設計只需要遵循一下原則,就可以設計出非常優雅的結構:

單一職責原則

開放封閉原則

黎克特制替換原則

依賴倒置原則

介面隔離原則

而所謂的設計模式,其實只是為了在特定語言特性中應用這些原則的產物。知道這個,就不會執著於使用設計模式了

5樓:

當用 Python 的時候,我都忘記什麼是設計模式了。

設計模式不是高大上的東西,是前人的實踐經驗,用來彌補語言的「缺陷」,設計模式用得自然就很好,強套就很蹩腳。

另外推薦看看《Ruby設計模式》畢竟 rb 更像 Python.

6樓:王翔

可以參考這本書

Python

inPractice: Create Better Programs Using Concurrency, Libraries, and Patterns

7樓:劉項

所有的duck typing的程式語言都不需要設計模式。

《設計模式》你看看是有幫助的,

但是想在Python中使用就很沒必要。

8樓:陳肖恩

鴨子模式,你需要實現這個方法的話,就照實現就是了,返回和形參不限制型別,這就是動態型別的優勢。

再固執點,通過多重繼承實現多種方法。

9樓:

用靜態語言的設計模式套Python這樣的動態語言說真的你被禁錮了思維。Python可以很簡單的反射,可以不用物件導向簡易的完成「多型」。

在python裡,禁用 以及is和in,如何判斷兩個數字的值是否相等?

def compare number x,y if bool int x int yreturn Falsereturn True def compare number 2 x,y if bool int x int yreturn Falsereturn True 這麼老的題目居然出現在我的時間線...

如何看待網易郵箱至今登入介面沒有https?

應該這麼說 任何不和session繫結的金鑰協商根本不是安全。只保護 敏感資料 確實可以防止別人竊取金鑰以直接登入郵箱。但是因為session沒有保護,你看到的就是黑客可以看到的,你能做的操作黑客也能做。你沒有做的操作,黑客也可以做。只要同時做中間人 主動攻擊即可 有個統一的網易賬號中心https ...

神奇動物2裡面,如何破壞血盟大家有什麼腦洞嗎?

胡亂猜測,血盟一直存在,只不過是換了一種形式,打破愛的誓言的還是靠愛,比如不想看到格林德沃繼續錯下去,想要救贖他的靈魂。所以,鄧布利多還是最後沒殺死他,那棟房子,就像他的心房禁錮他的靈魂一樣,禁錮他的肉體。 楓楓想吃檸檬雪寶 以愛締結的血盟 會不會是終結於兩個人其中一方不再愛對方為止?或者是兩方都不...