add resources to Patterns and Design Principles (#1984)

pull/1981/head
mph7 2 years ago committed by GitHub
parent 07417f2196
commit 80fe75f808
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 8
      content/roadmaps/114-software-architect/content/105-patterns-and-design-principles/103-actors.md
  2. 17
      content/roadmaps/114-software-architect/content/105-patterns-and-design-principles/105-solid.md
  3. 17
      content/roadmaps/114-software-architect/content/105-patterns-and-design-principles/106-ddd.md
  4. 10
      content/roadmaps/114-software-architect/content/105-patterns-and-design-principles/106-tdd.md

@ -1 +1,7 @@
# Actors
# Actors
Actor Model is a model that represents actors as the basic unit of a system, they can only communicate through messages and have their own private state, and they can also manage other actors, resulting in an encapsulated and fault-tolerant system.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=ELwEdb_pD0k'>Actor Model Explained</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.brianstorti.com/the-actor-model/'>The actor model in 10 minutes</BadgeLink>

@ -1 +1,16 @@
# Solid
# SOLID
SOLID is a set of principles applied to object-oriented design (OOD) to create maintainable, understandable, and flexible code, while avoiding code smells and defects. The principles are:
- Single Responsibility
- Open/Closed
- Liskov Substitution
- Interface Segregation
- Dependency Inversion
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='blue' badgeText='Official Docs' href='https://web.archive.org/web/20150906155800/http://www.objectmentor.com/resources/articles/Principles_and_Patterns.pdf'>Design Principles and
Design Patterns</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.baeldung.com/solid-principles'>SOLID Principles</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.digitalocean.com/community/conceptual_articles/s-o-l-i-d-the-first-five-principles-of-object-oriented-design'>SOLID: The First 5 Principles of Object Oriented Design</BadgeLink>

@ -1 +1,16 @@
# Ddd
# Domain-Driven Design
Domain-driven design (DDD) is a software design approach focusing on modeling software to match a domain according to input from that domain's experts.
In terms of object-oriented programming, it means that the structure and language of software code (class names, class methods, class variables) should match the business domain. For example, if a software processes loan applications, it might have classes like LoanApplication and Customer, and methods such as AcceptOffer and Withdraw.
DDD connects the implementation to an evolving model and it is predicated on the following goals:
- Placing the project's primary focus on the core domain and domain logic;
- Basing complex designs on a model of the domain;
- Initiating a creative collaboration between technical and domain experts to iteratively refine a conceptual model that addresses particular domain problems.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='blue' badgeText='Official Docs' href='https://matfrs2.github.io/RS2/predavanja/literatura/Avram%20A,%20Marinescu%20F.%20-%20Domain%20Driven%20Design%20Quickly.pdf'>Domain Driven Design Quickly</BadgeLink>

@ -1 +1,9 @@
# Tdd
# Test Driven Development
Test driven development (TDD) is the process of writing tests for software's requirements which will fail until the software is developed to meet those requirements. Once those tests pass, then the cycle repeats to refactor code or develop another feature/requirement. In theory, this ensures that software is written to meet requirements in the simplest form, and avoids code defects.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.guru99.com/test-driven-development.html'>What is Test Driven Development (TDD)?</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.ibm.com/garage/method/practices/code/practice_test_driven_development/'>Test-driven development</BadgeLink>
<BadgeLink badgeText='Watch' href='https://youtu.be/uGaNkTahrIw'>Agile in Practice: Test Driven Development</BadgeLink>

Loading…
Cancel
Save