{"id":21835491,"url":"https://github.com/plopezgit/sprint3_t2_patterns_part_2","last_synced_at":"2025-06-13T19:34:59.612Z","repository":{"id":206453925,"uuid":"716508580","full_name":"plopezgit/Sprint3_T2_Patterns_Part_2","owner":"plopezgit","description":"Design pattern study","archived":false,"fork":false,"pushed_at":"2023-11-24T10:21:40.000Z","size":39,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-21T14:23:59.061Z","etag":null,"topics":["callback","dependency-injection","design-patterns","observer-pattern"],"latest_commit_sha":null,"homepage":"https://refactoring.guru/design-patterns","language":"Java","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/plopezgit.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":"2023-11-09T09:37:19.000Z","updated_at":"2024-01-29T18:51:52.000Z","dependencies_parsed_at":"2025-03-21T14:23:57.457Z","dependency_job_id":"12499b51-24df-4ce7-aa86-583e83f76cff","html_url":"https://github.com/plopezgit/Sprint3_T2_Patterns_Part_2","commit_stats":null,"previous_names":["plopezgit/sprint3_t2_patterns_part_2"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/plopezgit/Sprint3_T2_Patterns_Part_2","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/plopezgit%2FSprint3_T2_Patterns_Part_2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/plopezgit%2FSprint3_T2_Patterns_Part_2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/plopezgit%2FSprint3_T2_Patterns_Part_2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/plopezgit%2FSprint3_T2_Patterns_Part_2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/plopezgit","download_url":"https://codeload.github.com/plopezgit/Sprint3_T2_Patterns_Part_2/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/plopezgit%2FSprint3_T2_Patterns_Part_2/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259707816,"owners_count":22899492,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["callback","dependency-injection","design-patterns","observer-pattern"],"created_at":"2024-11-27T20:21:27.149Z","updated_at":"2025-06-13T19:34:59.574Z","avatar_url":"https://github.com/plopezgit.png","language":"Java","readme":"# Sprint3_T1_Patterns_Part_2\n\n- Level 1\n\nIn all exercises, create a Gradle project with a Main class that demonstrates the use of the pattern (with any invocations that are needed).\n\n**observe**\n\nDesign a system in which a Stock Exchange Agent (Observable) notifies several Stock Exchange agencies (Observers) of changes when the Stock Exchange goes up or down.\n\nIt is necessary for the Observable object to hold references to the Observers.\n\n- Level 2\n\n**Callback**\n\nSimulates a payment gateway that receives an object encapsulating the payment method to be made: credit card, Paypal or bank account debt.\n\nThe gateway will invoke the payment without knowing the form and returning control to the parent class.\nThe class that invokes the payment gateway will be a shoe store.\n\n- Level 3\n\n**Dependency Injection**\n\nDesign a class that displays the price of various items on the screen. Since you will have to show them in several types of currency as well.\n\n_Important_\n\nMake sure to add as a Dependency Injection a CurrencyConverter class that performs the price correction based on the currency exchange.","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fplopezgit%2Fsprint3_t2_patterns_part_2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fplopezgit%2Fsprint3_t2_patterns_part_2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fplopezgit%2Fsprint3_t2_patterns_part_2/lists"}