Sunday, February 25, 2018

Introduction to Domain-driven Design

Domain-driven design (DDD) focuses more on the business needs compared to technology. It's all about understanding the customer's real business needs. Domain-driven design consists of a set of patterns for building enterprise applications from the domain model out. During software development, a DDD approach is used to solve complex implementations problems. DDD puts the emphasis squarely on the domain model; the main focus is creating a conceptual model that forms a common language for both the users and programmers.

Wednesday, February 14, 2018

Using Selenium WebDriver with Visual Studio

Selenium WebDriver is a tool used for automating Web application testing. WebDriver is the successor to Selenium RC, which accepts commands and sends them to a browser. WebDriver includes a collection of open source APIs that support browsers like Firefox, Chrome, IE, and Safari. Selenium WebDriver APIs are platform independent and support different programming languages such as C#, Java, Perl, PHP, and Ruby.

Working with Visio UML Model Diagrams in Visual Studio

Microsoft Visual Studio offers architecture and modeling tools to design and model your application. These tools are available in the Enterprise edition. By using these tools, architects can make sure the application meets the specified architectural requirements. Modeling tools help you understand existing program code more easily by visualizing the code's structure, behavior, and relationships. Developers can create models at different levels of detail throughout the application lifecycle as part of the development process. Architecture and modeling also help developers understand the dependencies over the modules while coding.

Best Code Review Tips for Effective Reviews

Code review is a process to ensure that code is readable and maintainable; it meets the functional requirements, ensures that the team knows the code base, catches bugs, enables developers to adopt the best coding practices, and finally, improves the software quality. A code reviewer will review the source code of an application and report the findings to the developer. During the code review session, a reviewer will focus on general unit testing, comment and coding conventions followed, error handling code written, memory leaks, use of threads, control structures, code performance, functionality implemented, and securities.

SOLID Design Principles with Implementation in C#

In Object Oriented Programming (OOP) concepts, we should have low coupling, high cohesion, and strong encapsulation. The SOLID principles of OOPS help developers to achieve scalability by applying these principles together, so that we are able to write better quality and more robust code. The system created by following this principle becomes easy to maintain, reusable, and easily extendable over time. SOLID principles were introduced by Michael Feathers for five principles.

Understanding Onion Architecture

Most of the traditional architectures raise fundamental issues of tight coupling and separation of concerns. Onion Architecture was introduced by Jeffrey Palermo to provide a better way to build applications in perspective of better testability, maintainability, and dependability. Onion Architecture addresses the challenges faced with 3-tier and n-tier architectures, and to provide a solution for common problems. Onion architecture layers interact to each other by using the Interfaces.

Mocking API Responses in Azure API Management Portal

A mock API imitates a real API call by providing a realistic JSON or XML response to the requester. Mock APIs can be designed on a developer...