{"id":19214945,"url":"https://github.com/codevalve/accountingapp","last_synced_at":"2026-06-18T19:32:21.480Z","repository":{"id":214114016,"uuid":"81880069","full_name":"codevalve/AccountingApp","owner":"codevalve","description":"An application used to exlpain OOP and Design Patterns.","archived":false,"fork":false,"pushed_at":"2017-03-16T21:55:07.000Z","size":4,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-05-17T14:57:06.135Z","etag":null,"topics":[],"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/codevalve.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}},"created_at":"2017-02-13T22:48:19.000Z","updated_at":"2017-02-13T22:52:19.000Z","dependencies_parsed_at":"2023-12-26T00:28:41.321Z","dependency_job_id":"abff1712-13a1-49c4-8493-9332d0c4c66f","html_url":"https://github.com/codevalve/AccountingApp","commit_stats":null,"previous_names":["codevalve/accountingapp"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/codevalve/AccountingApp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codevalve%2FAccountingApp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codevalve%2FAccountingApp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codevalve%2FAccountingApp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codevalve%2FAccountingApp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/codevalve","download_url":"https://codeload.github.com/codevalve/AccountingApp/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codevalve%2FAccountingApp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34505419,"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-06-18T02:00:06.871Z","response_time":128,"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":[],"created_at":"2024-11-09T14:11:59.428Z","updated_at":"2026-06-18T19:32:21.431Z","avatar_url":"https://github.com/codevalve.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AccountingApp\n\n## An application used to explain OOP and Design Patterns.\n\n## The Solution\n\nIt may seem odd to start with the solution first, but I think it will illustrate the goal of of this tutorial.\n\nThe premise in this AccountingApp is that we, as developers, often support an application over a relatively long time. There will be many changes needed and new requirements. Our ability to support those changes efficiently lies within our capacity to adapt, refactor, maintain, and mentor. Yes, I said mentor. \n\nI've seen brilliant developers struggle with areas of OOP and Design Patterns.  I've been pained to watch CS Majors write linear code when I expected them to have had some proper OOP in the classroom. Again these are very smart people, so why do they do they do things the \"hard way\". It's not wrong, but it sure makes your life as a coder more difficult. The simple answer is that they just haven't been exposed to a real world use for these concepts. How do you transfer Animal.CanBark() to RateEngineStrategy.Calculate(rentalDate,hours,discountCode). Inheritance is tricky and all to often misused. Examples are too simple and lack any connection to the real world. I thought that was what OOP was intended for; to model the real world in objects. In my thirty plus years as a programmer, I have never been given a requirement make a system bark.  \n\nAt least not yet.\n\nNo animals were harmed in the production of this course.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodevalve%2Faccountingapp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodevalve%2Faccountingapp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodevalve%2Faccountingapp/lists"}