What is aspect oriented programming?
Dec 6th
I will try and make it as short as possible as this book is not a reference book. Just to save you from interviewer I will give a short description of aspect oriented programming in .NET.
First let us try and define it which can probably save you during interview
Aspect-oriented software development is a new technology for separation of concerns (SOC) in software development. The techniques of AOSD make it possible to modularize crosscutting aspects of a system.
Ok that statement can save you for the first stage let us get down actually what is it. Let’s revisit back how software development More >
What is Windows DNA architecture?
Dec 6th
The Windows Distributed interNet Applications Architecture (DNA) is a Microsoft blueprint for robust, scalable, distributed business software. Windows DNA has evolved over time and was not preplanned. It gives all combined advantages of Centralized mainframe, application servers, internet technologies and Personal computers. Windows DNA is an evolution which started from mainframes (where all logic was centralized), Fox pro ages ( where we talked in terms of two tier systems), VB6 / SQL SERVER (three tier where we talked in terms of having one more tier which was mainly COM where business logic resided), COM+ ( looking in terms of transactions More >
What are different ways you can pass data between tiers?
Dec 6th
There are many ways you can pass data between tiers :-
? Dataset the most preferred one as they maintain data in XML format.
? Datareader
? Custom classes. ? XML
What is Service Oriented architecture?
Dec 6th
“Services” are components which expose well defined interfaces and these interfaces communicate through XML messages. Using SOA you can build workflow, which uses interfaces of these components. SOA is typically useful when you are crossing heterogeneous technical boundaries, organizations, domain etc.
In .NET SOA technically uses Web services to communicate with each service which is crossing boundaries. You can look SOA which sits on top of web services and provides a workflow.
SOA uses service components which operate in their own domain boundary. Let us note some points of service :-
? They are independent components and operate in their own boundary and own More >
Have you ever worked with Microsoft Application Blocks, if yes then which?
Dec 6th
Application Blocks are C# and VB.NET classes distributed as Visual Studio projects that can be downloaded from Microsoft’s Web site and used in any .NET application, including ASP.NET Web applications. They are useful and powerful tools that can make applications more maintainable, scalable and efficient
Secondly which application blocks has been used depends on really what you have implemented. But there are two famous MAB which is making buzz around the industry:-
? data access block
The Data Access Block provides static methods located in the SqlHelper class that encapsulates the most common data access tasks performed with Microsoft SQL server. If the More >
What is three tier architecture?
Dec 6th
The three tier software architecture emerged in the 1990s to overcome the limitations of the two tier architecture.
There are three layers when we talk about three tier architecture:-
User Interface (Client) :- This is mostly the windows user interface or the Web interface but this has only the UI part.
Mid layer: – Middle tier provides process management where business logic and rules are executed and can accommodate hundreds of users (as compared to only 100 users with the two tier architecture) by providing functions such as queuing, application execution, and database staging.
Data Access Layer: – This is also called by the More >
How can we implement observer pattern in .NET?
Dec 6th
Observer patterns can be implemented using “Delegates” and “Events”. I leave this to the readers to implement one sample code for observer patterns
How do you implement prototype pattern in .NET?
Dec 6th
Cloning is achieved by using ICloneable of the System namespace. It has a “Clone” method which actually returns the reference of the same copy. Clone method allows a Shallow copy and not a deep copy. In Shallow copy if you make changes to the cloned object it actually changes on the main object itself. So how is deep copy achieved, by using “ISerializable” interface? So what you do is first serialize the object then deserialize back to a complete new copy. Now any changes to this new copy do not reflect on the original copy of the object, this is More >
Can you give a practical implementation of FAÇADE patterns?
Dec 6th
Façade pattern sits on the top of lot of subsystems and makes access easy to interfaces of these subsystems. Basic purpose of Façade is to make interfacing between many modules and classes manageable
What are the situations you will use a Web Service and Remoting in projects?
Dec 6th
Well “Web services” uses “remoting” concepts internally. But the major difference between “web service” and “remoting” is that “web service” can be consumed by clients who are not .NET platform. While remoting you need the client to be .NET compliant. Regarding the speed issue “Remoting” is faster than “Web Services”. So I think when deciding the architecture side of choosing between “Web services” and “Remoting” keep the cross platform issue and the speed issue in mind.