My WCF application receive RequestContext from UI, and I have three layer before fetching data from DB. Namely, BusinessLogicLayer, FacadeLayer, and DataAccessLayer. I have differnt classes in each layer to work on with that RequestContext object. I am passing RequestContext object to each layer’s classes thru its constructor something like new Facade(RequestContext rqstContext)
Since I am having concrete class to receive the object, Is it best practice to have something like new Facade(IRequestContext rqstContext), in which my RequestContext will implement IRequestContext/Or any abstract class?
Do not get confused between OO(Object Orientation) and SO(Service Orientation). From your explanation the Request context class seems to be a DTO(Data transfer object). If your entity is purely used to transfer data, then there is no need to re-factor and Interface out of it.