回答
我見過一些地方,如IdAndName
名稱已被使用。我不喜歡它。這些名字與班級的當前狀態相結合。很可能新課程將添加到課程中或從課程中刪除,然後該名稱將不再準確。
所以,我會鼓勵你沿着這兩個方向的思考:
這是什麼類的代表?如果這是具有「ID」和「名稱」的所有「事物」的超類,那麼可以將其稱爲
NamedEntity
(術語Entity
對於描述保持不同身份的持久對象十分常見)。(或者)你真的想讓它成爲許多其他類的超類嗎?聽起來好像你可以移動到一個設計,你的實體將在一個領域(而不是從它的類繼承)持有這樣一個對象。然後,您可以引入一個接口,該接口將定義一個
getId()
和getName()
,並讓這些實體實現這些方法(代碼體積方面的成本很低)。這會讓你更好地分離問題,減少耦合(繼承是最強大的耦合形式),並且不會利用只能玩一次的卡片extends
。
有名的界面聽起來像一個好主意。保持耦合。 – 2012-01-09 07:59:20
還沒有聽說過這種情況下的公約。只問自己什麼是階級目的,魔術名詞就會出現。
在大多數情況下,它與應用程序有關。有時(如果所有值對象都需要ID和名稱),人們稱之爲BaseEntity
或AbstractEntity
。如果你想使用「酷」Java公約呼叫這個類Nameable
名稱將更好的接口 – Hurda 2012-01-08 17:17:47
- 1. 如何創建一個包含多個命名空間類型
- 2. Gradle zip:如何輕鬆包含和重命名一個文件?
- 3. PHP命名空間和包含()與類
- 4. 命名一個包含其他相關類的類
- 5. 在另一個類中包含一個包含use命令的類
- 6. 如何在Scheme中包含一個名爲runtime的基元?
- 7. 如何包含在一個ERB元件的ID(或類)
- 8. C++包含一個來自外部命名空間的類
- 9. 填寫一個包含名稱和項目ID的保管箱
- 10. 如何命名包含點的表列?
- 11. Twitch API包含一個Cleint ID和php
- 12. 如何使用包含id,name和javascript的jQuery來克隆元素?
- 13. DataTable列名稱包含方括號[name]
- 14. appWidgetIds只包含一個ID
- 15. 爲什麼__setattr__的「name」參數包含類,但__getattr__不包含?
- 16. 如何命名只包含類定義的Python文件?
- 17. Php致命錯誤。如何將一個類包含到index.php中?
- 18. 如何重命名包含在python
- 19. 測試如果一個類包含基於其名稱的實例變量
- 20. 選擇基於div的一個div類與包含特定ID的子div
- 21. 包含時間戳和浮點值的類的命名建議?
- 22. C++/openFrameworks - 如何包含一個類
- 23. 如何從命令行運行包含多個類和包的java程序?
- 24. 如何在一個包含同名的兩個名稱空間?
- 25. 如何在sass結果中包含空的類和ID
- 26. JavaScript:如何獲取包含DOM的W/O ID和類?
- 27. 如何在命名空間中將C++類包含到Cython中?
- 28. TypeScript變量,它包含一個擴展基類的類實例
- 29. PHP命名空間和包含文件
- 30. 查找包含類名在多個類
類的名稱應該基於它所代表的內容,而不是基於任何成員變量的類型(如果添加了新成員或更改了現有類型的成員,該怎麼辦?)。 – hmjd 2012-01-08 17:07:25
爲什麼不BaseClass – 2012-01-08 17:08:35
或BaseClassThatHoldsNameAndId。 :) – 2012-01-08 17:10:26