This section is all about software architectural design patterns and approaches. It is my accumulative knowledge and experiences discovered along the way from my software careers. Currently, I'm heavily based my syllabus from self-studying Carnegie Mellon University - School of Computer Science Master of Science - MS, Information Technology syllabus.
As Prof. Jonathan Aldrich, Prof. Jonathan I. Maletic, and Dwight Deugo stated, designing a good system requires great efforts in knowledge and especially, first hand experiences. Therefore, just like an artist, it is through time and practice, one can become a great designer, thus, making towards the goal of becoming a software architect.
Hence, do not give up, do stay open, and do learn with humility with any new design approaches. Log them if you must.
This section covers all the basics in software design patterns.
These are the core aspects related to software designs. It covers subjects like principles, guidelines and processes.
These are the known design patterns from the industry. It covers 4 different directions: architectural, behavioral, creational, and structural.
These are architectural related patterns. They serve as foundation of building an application.
These are behavioral related patterns. They provide various means of interactions for communicating to one another.
These are creation related patterns. They provide various means of scalable data creation.
These are structural related patterns. They are meant for defining data structure and ways of interacting between them. These design patterns focuses on structure requirements and defining its interaction style.
These are the anti-pattern, known for their bad design. Like Design patterns, it covers It covers 4 different directions: architectural, behavioral, creational, and structural.
These are the anti-patterns related to the software development, practices, tools, processes, etc.
These are anti-patterns related to software architecture itself.
These are anti-patterns related to project management.
These covers the scaling and distributions aspects. It includes growing and mass deployment across the network.
Here are the references I read through to absorb the necessary knowledge.
That's all about software design patterns.