{"id":25958078,"url":"https://github.com/georgecatalin-codepractice-courses/csharp-course-object-oriented-programming-fundamentals-in-csharp","last_synced_at":"2026-05-31T22:31:53.457Z","repository":{"id":127926448,"uuid":"213321393","full_name":"georgecatalin-CodePractice-Courses/CSharp-Course-Object-Oriented-Programming-Fundamentals-in-CSharp","owner":"georgecatalin-CodePractice-Courses","description":"Code work associated with the course \"Object-Oriented Programming Fundamentals in C#\" by Deborah Kurata on Pluralsight.","archived":false,"fork":false,"pushed_at":"2019-10-10T14:28:53.000Z","size":23,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-04T17:53:58.827Z","etag":null,"topics":["csharp","csharp-code","oriented-programming-fundamentals","pluralsight-course"],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/georgecatalin-CodePractice-Courses.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-10-07T07:34:11.000Z","updated_at":"2022-07-07T15:55:35.000Z","dependencies_parsed_at":null,"dependency_job_id":"4c7b2997-dc17-4ff4-bae7-d9e7f85a2534","html_url":"https://github.com/georgecatalin-CodePractice-Courses/CSharp-Course-Object-Oriented-Programming-Fundamentals-in-CSharp","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/georgecatalin-CodePractice-Courses/CSharp-Course-Object-Oriented-Programming-Fundamentals-in-CSharp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/georgecatalin-CodePractice-Courses%2FCSharp-Course-Object-Oriented-Programming-Fundamentals-in-CSharp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/georgecatalin-CodePractice-Courses%2FCSharp-Course-Object-Oriented-Programming-Fundamentals-in-CSharp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/georgecatalin-CodePractice-Courses%2FCSharp-Course-Object-Oriented-Programming-Fundamentals-in-CSharp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/georgecatalin-CodePractice-Courses%2FCSharp-Course-Object-Oriented-Programming-Fundamentals-in-CSharp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/georgecatalin-CodePractice-Courses","download_url":"https://codeload.github.com/georgecatalin-CodePractice-Courses/CSharp-Course-Object-Oriented-Programming-Fundamentals-in-CSharp/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/georgecatalin-CodePractice-Courses%2FCSharp-Course-Object-Oriented-Programming-Fundamentals-in-CSharp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33752286,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-31T02:00:06.040Z","response_time":95,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["csharp","csharp-code","oriented-programming-fundamentals","pluralsight-course"],"created_at":"2025-03-04T17:53:37.645Z","updated_at":"2026-05-31T22:31:53.452Z","avatar_url":"https://github.com/georgecatalin-CodePractice-Courses.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CSharp-Object-Oriented-Programming-Fundamentals-in-CSharp\nCode work associated with the course \"Object-Oriented Programming Fundamentals in C#\" by Deborah Kurata on Pluralsight.\n\n## Course Overview 1m 19s\nCourse Overview\n1m 19s\n\n## Introduction 13m 52s\n\nIntroduction\n2m 27s\n\nObject != Class\n3m 5s\n\nTerms in Context\n2m 37s\n\nWhat Is Object-oriented Programming?\n2m 20s\n\nGet the Most from This Course\n1m 34s\n\nCourse Outline\n1m 47s\n\n## Identifying Classes from Requirements 16m 24s\n\nIntroduction\n1m 52s\n\nAnalyze the Business Problem\n1m 50s\n\nStart with the Nouns\n1m 17s\n\nDefine Appropriate Members\n2m 23s\n\nConsider Time\n2m 7s\n\nAbstraction\n1m 40s\n\nEncapsulation\n3m 37s\n\nSummary\n1m 34s\n\n## Building Entity Classes 30m 51s\n\nIntroduction\n0m 47s\n\nLayering the Application\n2m 10s\n\nBuilding the Business Logic Layer Component\n1m 38s\n\nBuilding a Class: Properties\n4m 52s\n\nUsing Snippets\n3m 2s\n\nTesting the Class\n1m 47s\n\nTesting the Class: Valid Values\n4m 48s\n\nTesting the Class: Invalid Values\n2m 9s\n\nWorking with Objects\n2m 11s\n\nObjects Are Reference Types\n2m 10s\n\nStatic Modifier\n2m 27s\n\nChecklists and Summary\n2m 45s\n\n## Building Entity Classes - Methods 16m 5s\n\nIntroduction\n0m 57s\n\nBuilding a Class: Methods\n2m 25s\n\nTesting the Methods\n2m 9s\n\nTerms\n2m 44s\n\nBuilding a Class: Constructors\n2m 7s\n\nBuilding the Remaining Classes\n3m 18s\n\nChecklists and Summary\n2m 22s\n\nSeparation of Responsibilities\n17m 37s\n\nIntroduction\n1m 25s\n\nSeparation of Concerns\n3m 6s\n\nRevisiting the Class Diagram\n3m 11s\n\nBuilding the Address Class\n0m 43s\n\nBuilding a Repository Class\n1m 20s\n\nTesting a Repository Class\n2m 35s\n\nBuilding the Remaining Repositories\n2m 24s\n\nChecklists and Summary\n2m 49s\n\n## Establishing Relationships 28m 46s\n\nIntroduction\n2m 51s\n\nDefining the Relationships\n1m 31s\n\nTypes of Relationships\n2m 29s\n\nCollaboration\n1m 37s\n\nComposition\n1m 20s\n\nComposition: References\n2m 55s\n\nPopulating the Referenced Objects\n3m 20s\n\nTesting a Composition Relationship\n2m 45s\n\nComposition: Ids\n3m 29s\n\nInheritance\n3m 36s\n\nChecklists and Summary\n2m 47s\n\n## Leveraging Reuse through Inheritance 28m 34s\n\nIntroduction\n3m 27s\n\nSecrets of Reuse\n1m 16s\n\nThe .NET Object Class\n4m 24s\n\nOverriding Base Class Functionality\n3m 17s\n\nPolymorphism\n1m 30s\n\nBuilding a Base Class\n3m 25s\n\nDemo: Building a Base Class\n4m 31s\n\nPreparing Overridable Base Class Members\n4m 6s\n\nChecklists and Summary\n2m 34s\n\n## 9 Building Reusable Components 24m 13s\n\nIntroduction\n3m 15s\n\nScenario\n2m 39s\n\nBuilding a Reusable Component\n2m 0s\n\nTesting the Reusable Component\n3m 44s\n\nUsing the Reusable Component\n1m 42s\n\nStatic Classes\n3m 5s\n\nExtension Methods\n4m 4s\n\nStatic Method vs. Extension Method\n1m 27s\n\nChecklists and Summary\n2m 14s\n\n## 10 Understanding Interfaces 23m 12s\n\nIntroduction\n1m 37s\n\nClass Interface\n3m 12s\n\nInterface Metaphors\n1m 46s\n\nSetting up the Demo\n3m 39s\n\nDefining an Interface\n2m 36s\n\nImplementing an Interface\n3m 16s\n\nInterface-based Polymorphism\n5m 15s\n\nChecklists and Summary\n1m 47s\n\n## 11 Final Words and Next Steps\n5m 49s\n\nIntroduction\n0m 37s\n\nRecap\n3m 55s\n\nNext Steps\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeorgecatalin-codepractice-courses%2Fcsharp-course-object-oriented-programming-fundamentals-in-csharp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgeorgecatalin-codepractice-courses%2Fcsharp-course-object-oriented-programming-fundamentals-in-csharp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeorgecatalin-codepractice-courses%2Fcsharp-course-object-oriented-programming-fundamentals-in-csharp/lists"}