Sebagai contoh:
Katakanlah saya memiliki kelas A
, B
, C
. Saya memiliki dua antarmuka, sebut saja IAnimal
dan IDog
. IDog
mewarisi dari IAnimal
. A
dan B
yang IDog
s, sementara C
tidak, tapi itu adalah IAnimal
.
Bagian yang penting adalah IDog
tidak menyediakan fungsionalitas tambahan. Ini hanya digunakan untuk memungkinkan A
dan B
, tetapi tidak C
, untuk diteruskan sebagai argumen untuk metode tertentu.
Apakah ini praktik buruk?
MyProject.Data.IAnimal
dan MyProject.Data.Animal
lebih baik daripada MyProject.Data.Interfaces.Animal
dan MyProject.Data.Implementations.Animal
Interface
atau Implementation
, apakah dalam awalan berulang atau namespace baik, itu adalah tautologi baik cara dan melanggar KERING. Dog
hanya itu yang harus Anda pedulikan. PitBull extends Dog
tidak perlu redundansi implementasi, kata itu extends
memberitahu saya semua yang perlu saya ketahui, baca tautan yang saya posting di komentar asli saya.
IAnimal
danIDog
yang nama tautologi mengerikan!