Abstract

In today's software development world, we are solving complex business problems and developing large business applications. Hence, proper design is a major factor that contributes to the scalability and performance of any .NET application.

Efficient Resource Management

Resources are very critical for the existence and survival of any application. Examples of resources include objects, files, connections, handles, streams, and so on. Hence proper handling and cleanup of such resources are critical for better system performance.

Here are points to consider.

Considerations for Crossings the Application boundary

Applications live and run in their territory defined by the Machine, Process, or Application Domains they are hosted in or deployed on. In other words, if two applications communicate with each other across machines then a process r app domain there is a significant impact on the performance of the application.

Single Large Assemblies or Multiple Smaller Assemblies

In .NET an assembly is the unit of deployment; an application exists in the form of an assembly only. Any application you have built after compilation produces an assembly only. All the DLLs your project refers to are .NET Assemblies only.

When working on designing and architecting a solution it is critical to consider that various functionalities, classes and interfaces, and so on should be part of one single chunky assembly or should be divided across multiple smaller assemblies.

The following are points to consider

Code Refactoring by Logical Layers

You can read my article on Logical and Physical Separation here.

Code refactoring suggestions are the most common comments developers receive during their code review. Hence, we usually follow the best practices of Separation of Concerns, and so on.

Here are points to consider.

Threads are Resources Worth Sharing

Many applications use threads internally and behind the scenes, which works well and doesn't cause much noise. The problem starts when we take control of ourselves and don't follow the right practices.

Here are points to consider.