We may earn an affiliate commission when you visit our partners.
Pluralsight logo

Object-oriented Design with C#

Mel Grubb

Objects aren’t just an implementation mechanism, they’re every bit as important as artifacts of design. This course will teach you object oriented principles not merely as syntax, but as elements of your project’s design.

Read more

Objects aren’t just an implementation mechanism, they’re every bit as important as artifacts of design. This course will teach you object oriented principles not merely as syntax, but as elements of your project’s design.

Are you ready to move from merely coding to truly designing? In this course, Object-Oriented Design with C#, you’ll learn to apply object-oriented principles to your designs, not just your code. First, you’ll explore the foundational concepts like the four pillars and the SOLID principles. Next, you’ll discover design patterns and how to create them using modern C#. Finally, you’ll learn how to apply these principles and patterns in a sample project. When you’re finished with this course, you’ll have the skills and knowledge of object-oriented design needed to build your own projects in a cleaner, easier-to-maintain way.

Enroll now

What's inside

Syllabus

Course Overview
Introduction to Object-oriented Design
The Four Pillars
The SOLID Principles
Read more
Introduction to Design Patterns
Nullability
Equality, Immutability, and Record Types
Object-oriented Examples
Putting It All Together

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Teaches object-oriented principles, which are fundamental in any software design
Develops essential design skills for building clean and maintainable software projects
Covers the four pillars and SOLID principles, providing a solid foundation for understanding object-oriented design
Taught by Mel Grubb, a respected instructor known for expertise in object-oriented design
Examines design patterns and their implementation in C#, enhancing practical skills

Save this course

Save Object-oriented Design with C# to your list so you can find it easily later:
Save

Activities

Coming soon We're preparing activities for Object-oriented Design with C#. These are activities you can do either before, during, or after a course.

Career center

Learners who complete Object-oriented Design with C# will develop knowledge and skills that may be useful to these careers:
Software Architect
As a Software Architect, you will design, create, and test software applications. This course will significantly help you succeed in this role by teaching you object-oriented design with C#. You will learn object-oriented principles, design patterns, and how to apply them to your projects. This course will provide you with the skills and knowledge you need to design and develop software applications that are clean, easy to maintain, and scalable.
Software Engineer
Software Engineers are responsible for designing, developing, and maintaining software systems. This course will be useful in helping you succeed in this role by teaching you object-oriented design with C#. You will learn object-oriented principles, design patterns, and how to apply them to your projects. This course will provide you with the skills and knowledge you need to design and develop software systems that are clean, easy to maintain, and scalable.
Technical Architect
A Technical Architect designs and develops the architecture of software systems. This course will significantly help you succeed in this role by teaching you object-oriented design with C#. You will learn object-oriented principles, design patterns, and how to apply them to your projects. This course will provide you with the skills and knowledge you need to design and develop software systems that are clean, easy to maintain, and scalable.
Software Developer
Software Developers design, develop, and maintain software applications. This course will be useful in helping you succeed in this role by teaching you object-oriented design with C#. You will learn object-oriented principles, design patterns, and how to apply them to your projects. This course will provide you with the skills and knowledge you need to design and develop software applications that are clean, easy to maintain, and scalable.
Systems Analyst
A Systems Analyst studies existing systems and designs new systems. This course may be useful in helping you succeed in this role by teaching you object-oriented design with C#. You will learn object-oriented principles, design patterns, and how to apply them to your projects. This course will provide you with the skills and knowledge you need to design and develop new systems that are clean, easy to maintain, and scalable.
Computer Programmer
Computer Programmers write and maintain computer programs. This course will be useful in helping you succeed in this role by teaching you object-oriented design with C#. You will learn object-oriented principles, design patterns, and how to apply them to your projects. This course will provide you with the skills and knowledge you need to write and maintain computer programs that are clean, easy to maintain, and scalable.
Web Developer
Web Developers design and develop websites. This course may be useful in helping you succeed in this role by teaching you object-oriented design with C#. You will learn object-oriented principles, design patterns, and how to apply them to your projects. This course will provide you with the skills and knowledge you need to design and develop websites that are clean, easy to maintain, and scalable.
Database Administrator
A Database Administrator manages and maintains databases. This course may be useful in helping you succeed in this role by teaching you object-oriented design with C#. You will learn object-oriented principles, design patterns, and how to apply them to your projects. This course will provide you with the skills and knowledge you need to manage and maintain databases that are clean, easy to maintain, and scalable.
Network Administrator
A Network Administrator manages and maintains computer networks. This course may be useful in helping you succeed in this role by teaching you object-oriented design with C#. You will learn object-oriented principles, design patterns, and how to apply them to your projects. This course will provide you with the skills and knowledge you need to manage and maintain computer networks that are clean, easy to maintain, and scalable.
Information Technology Manager
An Information Technology Manager plans, organizes, and directs the implementation of information technology systems. This course may be useful in helping you succeed in this role by teaching you object-oriented design with C#. You will learn object-oriented principles, design patterns, and how to apply them to your projects. This course will provide you with the skills and knowledge you need to plan, organize, and direct the implementation of information technology systems that are clean, easy to maintain, and scalable.
Computer Systems Analyst
A Computer Systems Analyst analyzes and designs computer systems. This course may be useful in helping you succeed in this role by teaching you object-oriented design with C#. You will learn object-oriented principles, design patterns, and how to apply them to your projects. This course will provide you with the skills and knowledge you need to analyze and design computer systems that are clean, easy to maintain, and scalable.
Software Quality Assurance Analyst
A Software Quality Assurance Analyst tests and evaluates software applications. This course may be useful in helping you succeed in this role by teaching you object-oriented design with C#. You will learn object-oriented principles, design patterns, and how to apply them to your projects. This course will provide you with the skills and knowledge you need to test and evaluate software applications that are clean, easy to maintain, and scalable.
IT Consultant
An IT Consultant provides advice and guidance to organizations on the use of information technology. This course may be useful in helping you succeed in this role by teaching you object-oriented design with C#. You will learn object-oriented principles, design patterns, and how to apply them to your projects. This course will provide you with the skills and knowledge you need to provide advice and guidance to organizations on the use of information technology that is clean, easy to maintain, and scalable.
Business Analyst
A Business Analyst analyzes and designs business processes. This course may be useful in helping you succeed in this role by teaching you object-oriented design with C#. You will learn object-oriented principles, design patterns, and how to apply them to your projects. This course will provide you with the skills and knowledge you need to analyze and design business processes that are clean, easy to maintain, and scalable.
Project Manager
A Project Manager plans, organizes, and directs the implementation of projects. This course may be useful in helping you succeed in this role by teaching you object-oriented design with C#. You will learn object-oriented principles, design patterns, and how to apply them to your projects. This course will provide you with the skills and knowledge you need to plan, organize, and direct the implementation of projects that are clean, easy to maintain, and scalable.

Reading list

We've selected 19 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Object-oriented Design with C#.
Uses an entertaining and engaging approach to teaching classic design patterns. It great resource for understanding the concepts of object-oriented design and how to apply them to real-world applications.
Provides a comprehensive overview of design patterns in C#, with a focus on their practical application. It valuable resource for learning how to use design patterns to improve the quality of your code.
Novel that tells the story of a fictional IT organization that is struggling to meet the demands of the business. The book provides a valuable overview of the challenges and benefits of DevOps.
Provides a comprehensive overview of object-oriented analysis and design. It valuable resource for anyone who wants to learn more about the fundamentals of object-oriented design.
Provides a comprehensive overview of designing data-intensive applications. It valuable resource for anyone who wants to learn more about how to design applications that can handle large amounts of data.
Provides a comprehensive overview of DevOps. It valuable resource for anyone who wants to learn more about how to implement DevOps in their organization.
Provides a comprehensive overview of site reliability engineering. It valuable resource for anyone who wants to learn more about how to implement site reliability engineering in their organization.
Provides a deep dive into the Common Language Runtime (CLR), the underlying foundation of the .NET Framework. It valuable resource for developers who want to understand the internals of the .NET Framework and how to use it effectively.
Provides a comprehensive overview of domain-driven design, a software development approach that focuses on understanding the domain of the problem before designing the solution. It valuable resource for developers who want to learn how to design software that is maintainable, extensible, and scalable.
Provides a comprehensive overview of test-driven development. It valuable resource for anyone who wants to learn more about how to apply test-driven development to software development.
Provides practical advice on how to write clean, maintainable, and readable code. It valuable resource for developers of all levels who want to improve their coding skills.
This classic book provides a comprehensive overview of design patterns, a set of reusable solutions to common software design problems. It valuable resource for developers of all levels who want to learn how to design software that is maintainable, extensible, and scalable.
Provides a comprehensive overview of object-oriented analysis and design, the process of designing and developing object-oriented software systems. It valuable resource for developers who want to learn how to design software that is maintainable, extensible, and scalable.
Provides a comprehensive overview of software testing, the process of verifying and validating software systems. It valuable resource for developers who want to learn how to test their code effectively.
Provides a comprehensive overview of agile software development, a set of principles and practices for developing software quickly and efficiently. It valuable resource for developers who want to learn how to use agile methods to improve their productivity.
This classic book provides a collection of essays on software engineering, including the famous essay "The Mythical Man-Month." It valuable resource for developers of all levels who want to learn from the experiences of others.
Provides a comprehensive overview of object-oriented programming using Java and the BlueJ development environment. It valuable resource for beginners who want to learn how to program in Java and for experienced developers who want to refresh their skills.

Share

Help others find this course page by sharing it with your friends and followers:
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser