Tuesday, February 1, 2000

NUnit - How to do Unit Test for C#

1. Download the msi version of NUnit on http://www.nunit.org/index.php?p=download
2. Read the Quick Start Guide http://www.nunit.org/index.php?p=quickStart&r=2.5.3

Sample Code will be available soon.

Five major stages of architecture design process


1. Identify Architecture Objectives. Clear objectives help you to focus on your architecture and on solving the right problems in your design. Precise objectives help you to determine when you have completed the current phase, and when you are ready to move to the next phase.

2. Key Scenarios. Use key scenarios to focus your design on what matters most, and to evaluate your candidate architectures when they are ready.

3. Application Overview. Identify your application type, deployment architecture, architecture styles, and technologies in order to connect your design to the real world in which the application will operate.

4. Key Issues. Identify key issues based on quality attributes and crosscutting concerns. These are the areas where mistakes are most often made when designing an application.

5. Candidate Solutions. Create an architecture spike or prototype that evolves and improves the solution and evaluate it against your key scenarios, issues, and deployment constraints before beginning the next iteration of your architecture

Monday, January 10, 2000

Domain Driven Design

Domain Driven Design (DDD) is an object-oriented approach to designing software based on the business domain, its elements and behaviors, and the relationships between them. It aims to enable software systems that are a realization of an underlying business domain by defining a domain model expressed in the language of business domain experts. The domain model can be viewed as a framework from
which solutions can then be rationalized.

Saturday, January 1, 2000

Why .NET 3-tier architect or n-tier architect?

The main benefits of the N-tier/3-tier architectural style are:


+ Maintainability: Because each tier is independent of the other tiers, updates or changes can be carried out without affecting the application as a whole.

+ Scalability: Because tiers are based on the deployment of layers, scaling out an application is reasonably straightforward.

+ Flexibility: Because each tier can be managed or scaled independently, flexibility is increased.

+ Availability: Applications can exploit the modular architecture of enabling systems using easily scalable components, which increases availability.