Contents tagged with General Software Development
-
Writing C# Code Using SOLID Principles
Most of the modern programming languages including C# support objected oriented programming. Features such as encapsulation, inheritance, overloading and polymorphism are code level features. Using these features is just one part of the story. Equally important is to apply some object oriented design principles while writing your C# code. SOLID principles is a set of five such principles--namely Single Responsibility Principle, Open/Closed Principle, Liskov Substitution Principle, Interface Segregation Principle and Dependency Inversion Principle. Applying these time proven principles make your code structured, neat and easy to maintain. This article discusses SOLID principles and also illustrates how they can be applied to your C# code.
-
Overview of Design Patterns for Beginners
Modern software development needs to address complex business requirements. It also needs to take into account factors such as future extensibility and maintainability. A good design of a software system is vital to accomplish these goals. Design patterns play an important role in such systems. While learning a programming language beginners often focus on language syntax and usage techniques. However, it is also important to understand the basics of good software design. To that end this article gives a quick understanding of design patterns. It discusses what design patterns are, their benefits and classification.
-
Back to Basics : Working with Debug Windows in Visual Studio
Debugging is an important skill that every developer needs to acquire. .NET developers have a powerful debugger of Visual Studio at their disposal. Visual Studio offers many windows that can be used during the debugging session. Knowing these windows is essential for efficient debugging. To that end this article discusses some of the most commonly used debug windows of Visual Studio.
-
Back to Basics : Understanding .NET Attributes
.NET assemblies are said to be self-describing. That means the information about an assembly is stored in the assembly itself. This information is called Metadata. Moreover, .NET allows you to put additional information in the metadata through Attributes. Attributes are used in many places within the .NET framework. Some examples of attributes are [WebMethod], [ServiceContract], and several data annotation attributes such as [Required] and [StringLength]. This article discusses what attributes are, how to use inbuilt attributes and how to create custom attributes.
-
Learning, Unlearning and ASP.NET
Software industry is one of the most dynamic industries to work with. Everyday something new comes up and you have no option but to learn it to be in the race. While learning is a commonly acquired skill by software developers, not many can acquire the unlearning abilities. My experience of training software developers tells me that this skill - unlearning - can dramatically affect your experience with a technology or tool you are learning.