I have been working on a project where the client layer was very tightly coupled to the server layer. We were exposing and working with server objects, which were very large and cumbersome to work with.
But the rational was performance, that we didnt want to create a mapping layer between client and server. I wanted to seperate client rendring or in this case rendering XML from all the rules on how the data was to be rendered.
So i wanted a service to create the XML taking a client object, and that client object would be cretaed from the server object. But was told there could be a performance impact of mapping server to client.
I cant see there being that much of a performance impact mapping data to a object, and then mapping that to the XML.
As it is we have a unweidly object and since the server object is constantly changing this breaks all our code and are junits.
So we have broken the seperation of concerns and the single responsibilty
pattern, and I dont think straight mapping , not using reflection , from a server object to a client objec t will have that much of a performence impact.
But I am open to other views on this, software development is always a learning process, and understand that patterns are there to guide us and are not written in stone.