in

ORM, N-Tier Architecture, Multi Layered Applications – Online Course

In this course the students will finally see the fruits of the hard work that they have undergone through the previous courses.

Course Description

In this course the students will finally see the fruits of the hard work that they have undergone through the previous courses. The knowledge of the four fundamental principles of object-oriented programming, the four basic database operations (CRUD), the developed analytical and algorithmic thinking from solving preceding tasks will help them in the current challenge – creating a multi-tier application containing different layers.

The course will be focused on the following flexible structure – Business, Data, Service and Presentation layer. There will be different approaches to the Data layer so that the students will be able to appreciate the advantages of the multi layered paradigm (for example, changing one facet of the application won’t require rewriting the whole code). After finishing the synchronous implementation of the Data layer the asynchronous approach will be explained and integrated.

Entity Framework (Core) will be introduced as the ORM technology for the C# applications. Code First and Database First approaches will be taught. Data annotations and Fluent API will be used to configure the databases further. Optimization for the querying of data will be shown.

Different presentation layers will be created – Console application, Windows Forms, Windows Presentation Foundation (WPF) and (web-based) MVC. Students will realize how easily they can build upon the structure of the first three layers any kind of graphical user interface. Although some of the technologies are becoming outdated, the principles and concepts wherein are crucial for the development of the thinking of the student. Even if the students will start creating web applications only with JavaScript, Java or game applications with C++ the knowledge and experience in components, delegates and events are necessary. The ability to follow SOLID principles, OOP principles, good programming practices and algorithmic thinking are vital for the growth of the software developer. Even if the user migrates to a different type of database model, it will be easier to implement it in its application because of the same principles that n-tier applications are made of.

Before we continue making complex multi-tier applications (adding authorization, authentication, email confirmation, payment methods and filtering of data; adding new layers to simplify the growing of the functionalities in the service layer) a strong foundation of knowledge, skills and experience with solving simple tasks are necessary. This course is the sixth stepping stone towards achieving that goal.

I hope that my students will be benevolent toward each other in the Q&A section of the courses and be successful in their future career as a software developer (and engineer).

Goals

  • What is object relational mapping and why it is important.
  • Why you should have layers in your application and what functionalities you should implement in there.
  • Understand and use asynchronous programming.
  • Create unit tests using NUnit library.
  • Develop your Data layer faster with Code First or Database First approach using Entity Framework (Core).
  • Create different presentation layers (Console, Windows Forms, WPF and MVC) appreciating the benefits of the multi-tier structure.

Prerequisites

Finishing all the previous courses will be of great help or having a vast amount of knowledge and experience in object-oriented programming and relational databases.

What do you think?

Posted by Homework Lance

Leave a Reply

Your email address will not be published. Required fields are marked *

GIPHY App Key not set. Please check settings

Informatica Cloud (IICS) Masterclass: From Beginner to Pro

Programming Fundamentals in TypeScript – Online Course