thesingletonobserver.hashnode.devSoftware Design PatternsSoftware design patterns have become an essential part of modern software development practices. They provide developers with proven solutions to common problems and promote reusable, maintainable, and scalable code. There are numerous software desig...Jul 16, 2023·6 min read
thesingletonobserver.hashnode.devSoftware TestabilityTestability in software refers to the ease with which a software system can be tested. A highly testable software system will have the following characteristics: Modular Design: The system will be divided into modules that are loosely coupled, allow...Apr 11, 2023·1 min read
thesingletonobserver.hashnode.devSoftware Design Patterns for TestabilitySeveral software design patterns can enhance the testability of a software system. Here are some of the most commonly used ones: Dependency Injection: This pattern promotes loose coupling between components by allowing dependencies to be injected in...Apr 11, 2023·3 min read
thesingletonobserver.hashnode.devUsing "Important To" and "Important For"This is a pretty simple philosophy, however, in practice, this can be very difficult. We tend to focus on wants and needs as separate requirements. In software, you could call needs non-functional requirements and wants the functional requirements. H...Jan 5, 2023·3 min read
thesingletonobserver.hashnode.devPerson Centered Practices Applied to Software DesignWhat does it mean to be Person Centered? “We envision a world where all people have positive control over the lives they have chosen for themselves.” -The Learning Community, 2022 Software has a come a long way in just my lifetime. I was born right...Nov 30, 2022·5 min read