solid-principles

    4熱度

    1回答

    所以我在一個情況下,我想有一個包含類的對象的數據庫運行。它看起來像這樣: id | Description | pricingClass 1 | "static pricing" | staticDeliveryPrice.class 2 | "Dynamic pricing" | dynamicDeliveryPrice.class 這樣做的目的是爲了讓我的編碼具有靈活性。我的思路是,

    0熱度

    2回答

    我讀過關於是否應該刪除JSON請求或答覆中的信封的衝突「意見」。 實施例: { "data": { "foo" : "bar", "baz" : "Xyzzy" } } 應(假定)可以寫爲: { "foo" : "bar", "baz" : "Xyzzy" } 但是,在用固體原理一致,該結構應該是對擴展開放,但對修改關閉。

    5熱度

    6回答

    我有我的代碼,使web服務基於請求的類型調用。 要做到這一點,我有以下代碼; public class Client { IRequest request; public Client(string requestType) { request = new EnrolmentRequest(); if (requestType == "E

    2熱度

    2回答

    我想知道我該如何組織我的兩堂課。 其中之一代表Knife:只是一個簡單,堅實,基本的,就像一把菜刀。 另一個是PocketKnife,其狀態爲已打開或已關閉。 在我的代碼的類 class Knife{ public function cut() {/* do the cutting */} } class PocketKnife extends Knife{ private

    1熱度

    3回答

    我正在開發一個正在發出大量網絡請求的android應用程序。我想設計這樣的方式,我的應用程序: - 我所有的網絡相關的任務是在一個單獨的類集中,每當我想提出一個要求,我應該只是實例化類,並讓我的請求。基本上我不想用網絡電話污染我的活動。 設計應該是這樣的,如果將來我想改變我用於網絡調用的庫(okhttp,retrofit,異步等),我不必做很多代碼更改或者如果有任何代碼更改都必須在一個類中,活動不

    1熱度

    1回答

    我不確定這樣做的最有效方法是什麼,但我認爲最好有一個返回一個數據類型的函數,不管它是布爾型還是字符串,但是在某些情況下,我可以看到實現這樣一個嚴格的規則是多麼困難,例如,如果找到數據庫記錄,下面的代碼將返回一個對象,否則它將返回false。 public function get() { $record = $this->db->query('select id, first_name

    2熱度

    3回答

    如所述here, 行爲亞型的里氏的概念定義 可替代性的一個對象的概念;也就是說,如果S是T的子類型,那麼在程序中類型T的對象可以用類型S 的對象代替而不改變該程序的任何期望屬性(例如 正確性)。 假設,我們有下一個類層次結構: 的基礎上,抽象類 - AnimalWithFur。它具有隻讀屬性furColor,這應該在後繼中被覆蓋。 基類的後繼者 - Cat,它覆蓋了furColor並返回灰色。 貓

    1熱度

    1回答

    學習'SOLID'原理我想知道如果我需要爲類添加更多擴展,修改構造函數就可以了,例如。商業邏輯。 從我學到的它看起來像修改構造函數我違反'開放 - 封閉'的原則,但如果我需要注入另一個類來執行一些邏輯呢?我如何在沒有構造器修改的情況下做到這一點,一般來說,構造器修改是否違反了「開放 - 封閉」的原則? 讓我們來看一個例子。 有一個接口 public interface ShopFactory {

    3熱度

    1回答

    多年來,我一直對TDD感興趣,但有一兩件事情沒有點擊。我非常肯定,這是大多數人在嘗試時常見的想法。 「這本書中的例子非常好,但是我的代碼比這個複雜得多,我從來沒有一個程序能夠完成一件事,它會調用另外三個程序,並且會調用其他三個程序,並且這些程序會從DB ... bla bla bla「。一段時間以來,我在SOLID上發現了一些視頻(任何人都被卡住了,認爲TDD會很棒,但是......然後.....

    3熱度

    1回答

    場景 我創建一個動態查詢生成器發送到另一個組件(報表生成器)。 查詢的某些部分有佔位符。例如: SELECT DISTINCT ID, NAME AS VALUE FROM EVENTS WHERE {{ESTABLISHMENTFILTER.ID}} IS NULL OR ESTABLISHMENT_ID = {{ESTABLISHMENTFILTER.ID}} 的數據,以在where子句