tak. Det med public, som jeg troede var underforstået, virkede.
Hov. Tror det med constructoren også lykkes. har jeg forstået det rigtigt at constructoren ikke skal defineres på interfacet, men kun på selve klassen?
Og angående det med konstruktøren, hvis det var en del af interfacet, så vil du ikke kunne lave forskellige klasser med samme interface, men med vidt forskellige opsætning, f.eks.
interface IPerson
class PersonInMemory : IPerson { PersonInMemory(){ /*opsætning af en alm. liste*/ } }
class PersonInDb : IPerson { PersonInDb(string dbConnectionString){ /*opsætning af db*/ } }
Jeg ved ikke om det var den logik du ledte efter, ellers bare spørg. Al logikken er skam velovervejet, så ingen grund til at stille sig tilfreds med "sådan er det åbenbart". ;)
Eksempler på ligegyldig anvendelse af interfaces :-) imho :)
Det giver ikke den store mening at introducere interfaces for kun at benytte kontraktuelle behov.
Typisk ville jeg nok gøre noget alá:
public interface IQuery<T> { T Find(string searchText); }
public class Kunde : IQuery<EntityKunde> { EntityKunde Find(string searchText){....} } public class Ordre: IQuery<EntityOrdre> { EntityOrdreFind(string searchText){....} }
Det giver en meget begrænset mening at smide et interface på en entitet bare fordi man kan :) teoretisk og i skolebøger er det skide smart, men i praksis ser det lidt anderledes ud og giver faktisk ofte anledning til mere unødig kompleks kode og spild af tastetryk :)
Interessant diskussion, vil du forklare hvorfor det kommer an på hvad det skal bruges til? 100% enig med DI, men hvorfor mener du der skal bruges interfaces på data transfer classes (dto) ? sålænge vi ikke krydser nogle fysiske lag, eller på klasser som har specifikke navngivet metoder?
Jeg går ikke ud fra at der er tale om DTO objekter når det indeholder metoder som "OpretKunde", men at der er tale om en data klasse der indeholder sin egen logik til kontakt med datalaget.
Jeg er helt enig i DTO tilfælde, selvom der kan være interfaces der er nyttige der også i forbindelse med serialisering, men det har dog ikke så meget at gøre med hvad det bliver brugt til her i tråden.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.