SOLID is an acronym which stands for SRP, OCP, LSP, ISP, and DIP. These five acronyms in their turn stand for: Single Responsibility Principle, Open/Closed Principle, Liskov Substitution Principle, Interface Segregation Principle, and Dependency Inversion Principle. In this course, you’ll learn how to apply meta and SOLID principles so that your application will live a long healthy life. It means you are going to learn how to write code of the highest quality: readable, understandable and reliable.
- Access 61 lectures & 4 hours of content 24/7
- Understand the meta principles on which all the other development principles are based
- Understand the symptoms of code defects
- Learn the foundations of SOLID principles
- Learn how to detect the violations of SOLID principles & how to fix the problems
- Learn how meta principles & SOLID principles are related to each other and how to find the balance between them
This course is all about writing effective unit tests using C# programming language and NUnit as a unit testing framework. Along the way, you will learn the concepts related to unit testing. Today, unit testing is an absolutely required skill from any professional developer. Companies expect from developers to know how to write unit tests including all the most important topics such as mocking and test-driven development (TDD in short).
- Access 60 lectures & 4 hours of content 24/7
- Cover basic notions of Unit Testing
- Explore NUnit & its features
- Discuss test doubles including fakes, dummies, stubs, spies, & mocks
- Learn how to write manual test doubles & how to use a mocking framework (NSubstitute)
- Get an introduction to Dependency Injection
Dependency Injection is the set of techniques that supply dependencies to objects. Actually, if you have ever passed dependencies via constructors, then you applied the so-called constructor injection. Dependency Injection (DI) is simple and difficult at the same time. On one hand, DI is comprised of simple techniques and on the other hand, when we need to bring DI to the next level, we need to make things more complicated using the so-called DI or IoC (Inversion of Control) Containers. These are the frameworks which perform dependency injection automatically. You just need to set one up in the application root (an extremely important notion which you’ll learn about in the course) and after that, it will resolve all the dependencies it knows about in the runtime.
- Access 52 lectures & 3 hours of content 24/7
- Get an introduction to Inversion of Control
- Learn how to reap the fruits of Dependency Injection
- Set up a bootstrapper w/ Unity, Autofac & Castle.Windsor
- Get an introduction to unit testing
This course is primarily aimed at developers who’re already familiar with the basics of unit testing and dependency injection. Some experience in C# programming is required. The course provides a solid theoretical base reinforced by tons of practical material. You’ll start with the basics of test-driven development. Why do we need TDD? What is TDD? Here, you’ll learn.
- Access 81 lectures & 9 hours of content 24/7
- Learn what a regular agile development process looks like
- Discover 3 main TDD techniques: faking, triangulation & obvious implementation
- Learn how to start writing a test in a TDD manner
- Explore stack kata, immutable stack kata, & list kata
- Write acceptance tests w/ SpecFlow in Gherkin language
Learn how to write C# code in a functional style. This course is for you if you want to improve your code, design, and architecture. It means you are going to learn how to write code of the highest quality: readable, understandable and reliable. The course material is succinct, yet comprehensive. All important concepts are covered.
- Access 61 lectures & 4 hours of content 24/7
- Get a deep understanding of what Functional Programming is
- Learn how to design Immutable types in C#
- Apply new C# 6 & C# 7 features to write better code in a functional style
- Learn how to extend & compose any types
- Handle errors & exceptions in a functional programming style
- Tackle the problem of null-values by the means of functional programming
In this course, you’ll learn how to design and implement types in C# so that the other developers won’t hate you when using one of the types developed by you. You’ll improve your knowledge in object-oriented programming in the context of clean coding and building types of the highest quality.
- Access 77 lectures & 6 hours of content 24/7
- Learn how to give the best names for API members
- Learn all the tricks related to writing clean functions
- Avoid common architectural smells
- Apply principles of functional programming
- Write cleaner unit tests
- Practice Test-Driven Development
This course contains mostly practical puzzles that can help you become a better C# developer. Through fun, engaging puzzles and projects, this course deepens your understanding of C#. You’ll also learn about the fundamental problems related to processing date and time values and get a valuable instruction in how to ace your C# interviews.
- Access 53 lectures & 4 hours of content 24/7
- Discuss the evilness of the mutable structures
- Discover how floating-point numbers are implemented, how to compare them, how arithmetic overflow behaves with different types, how rounding works, & the difference between decimal and money
- Explore collections & LINQ
- Cover overloading base methods, method hiding, & more
- Discuss date & time puzzles
- Get an FAQ of C# interviews
Extension methods were introduced in C# 3 and since then became an indispensable part of the .NET platform. That enormously powerful feature allowed to have a whole framework built upon it called LINQ or Language Integrated Query. If you still feel uncomfortable with LINQ or you want to improve your understanding of LINQ, then this course is for you. This course is not only about LINQ but about the fundamentals of functional programming as well.
- Access 71 lectures & 4 hours of content 24/7
- Learn the basics of LINQ
- Generate data streams
- Discuss conversions
- Get an overview of LINQ to XML
- Understand EF & LINQ
- Explore extendibility in C#
This course is all about growing object-oriented software guided by tests. SpecFlow is a framework which brings Behavior-Driven Development (BDD) into life. It’s all about filling the gap between technical people and domain experts. Selenium is a framework which allows you to drive web browsers. In other words, with the power of Selenium, you can write a program which automatically interacts with elements on a web page. TestStack.White (sometimes, written as “teststack white”) is a framework which allows you to drive WinForms and WPF applications. In this course, you’ll learn all three.
- Access 78 lectures & 8 hours of content 24/7
- Discuss the theoretical background behind different types of testing
- Take a deep-dive into SpecFlow
- Get a full understanding of Selenium WebDriver
- Scrape a live website w/ Selenium WebDriver
- Learn how to manage a web browser
Algorithms and data structures constitute the fundamentals of programming. A good understanding of algorithms and data structures is one of the most important requirements for a great number of work positions. If you’re not good at algorithms and data structures, you’ll never pass a coding interview in a decent company. As such, this course is here to prepare you for that future.
- Access 92 lectures & 12 hours of content 24/7
- Get an introduction to algorithms & data structures
- Determine how long will a program work & build a log-log plot, approximations
- Discuss arrays, lists, stacks, queues, & more
- Learn how to sort algorithms
You are allowed to use this product only within the laws of your country/region. SharewareOnSale and its staff are not responsible for any illegal activity. We did not develop this product; if you have an issue with this product, contact the developer. This product is offered "as is" without express or implied or any other type of warranty. The description of this product on this page is not a recommendation, endorsement, or review; it is a marketing description, written by the developer. The quality and performance of this product is without guarantee. Download or use at your own risk. If you don't feel comfortable with this product, then don't download it.