All Projects → ivanbadia → solid-kata

ivanbadia / solid-kata

Licence: other
Kata for practicing SOLID principles

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to solid-kata

dojos
This is where the Novoda team do all their hacking
Stars: ✭ 74 (+311.11%)
Mutual labels:  kata
refactoringtopatterns
A place to practice Refactoring To Patterns that Kerievsky wrote about in his book
Stars: ✭ 46 (+155.56%)
Mutual labels:  kata
KataContactsKotlin
KataContacts written in Kotlin. The main goal is to practice Clean Architecture Development
Stars: ✭ 47 (+161.11%)
Mutual labels:  kata
OOD-Principles-Kotlin
The Principles of OOD in Kotlin 1.3.61
Stars: ✭ 12 (-33.33%)
Mutual labels:  solid-principles
Kata-Dagger2-Android
Kata to practice Dependency injection using Dagger 2.
Stars: ✭ 21 (+16.67%)
Mutual labels:  kata
mlhandbook
My textbook for teaching Machine Learning
Stars: ✭ 23 (+27.78%)
Mutual labels:  kata
RxKata
Learn Rx through Katas and exercises
Stars: ✭ 19 (+5.56%)
Mutual labels:  kata
GoBarber
💈 Aplicação de agendamento para serviços de beleza, entre provedores e clientes.
Stars: ✭ 84 (+366.67%)
Mutual labels:  solid-principles
Games
The Games app has two features which are listing and showing detail of games.
Stars: ✭ 15 (-16.67%)
Mutual labels:  solid-principles
extreme-carpaccio
Slicing and coding game
Stars: ✭ 116 (+544.44%)
Mutual labels:  kata
reladomo-kata
Kata for Reladomo
Stars: ✭ 52 (+188.89%)
Mutual labels:  kata
Android-Clean-Architecture
This is a sample movie list Android application built to demonstrate use of Clean Architecture tools. Dedicated to all Android Developers - (Kotlin, MVVM, Clean Architecture, Rx-Java, Dagger, OkHttp, Unit Testing, SOLID principles, Code Coverage)
Stars: ✭ 268 (+1388.89%)
Mutual labels:  solid-principles
KataTODOApiClientKotlin
TODO API Client Kata for Kotlin Developers. The main goal is to practice integration testing using MockWebServer
Stars: ✭ 59 (+227.78%)
Mutual labels:  kata
Dermayon
Dermayon is Library for supporting build large application,distributed application, scalable, microservices, cqrs, event sourcing, including generic ef repository pattern with unit of work, generic mongo repository pattern with unit of work, kafka, etc
Stars: ✭ 66 (+266.67%)
Mutual labels:  solid-principles
CryptoManana
An Advanced PHP Cryptography Framework
Stars: ✭ 15 (-16.67%)
Mutual labels:  solid-principles
functional-structures-refactoring-kata
Starting code and proposed solution for Functional Structures Refactoring Kata
Stars: ✭ 31 (+72.22%)
Mutual labels:  kata
kata
TDD, Refactoring kata in many languages
Stars: ✭ 14 (-22.22%)
Mutual labels:  kata
RentACarProject
backend of rent a car project
Stars: ✭ 16 (-11.11%)
Mutual labels:  solid-principles
TwitterClone
TwitterClient app represents a real world twitter client app: it provides a fairly complex set of functionalities, it's a suitable showcase for all the advantages that architecture components bring, has all features that would make it a modular, scalable, testable and maintainable app.
Stars: ✭ 26 (+44.44%)
Mutual labels:  solid-principles
betterdocs
📚 Web version of https://github.com/khusnetdinov/ruby.fundamental repo - Fundamental programming with ruby examples and references. It covers threads, SOLID principles, design patterns, data structures, algorithms. Books for reading.
Stars: ✭ 25 (+38.89%)
Mutual labels:  solid-principles

SOLID design principles

This repository contains examples that violate the SOLID principles:

  • Single Responsibility Principle: Every class should have a single responsibility. A class should have one, and only one, reason to change.

  • Open/Closed Principle: You should be able to extend a classes behavior, without modifying it. Software entities should be open for extension, but closed for modification.

  • Liskov Substitution Principle: Derived classes must be substitutable for their base classes. Functions that use references to base classes must be able to use objects of derived classes without knowing it.

  • Interface Segregation Principle: Make fine grained interfaces that are client specific. Clients should not be forced to depend on interfaces they do not use.

  • Dependency Inversion Principle: Depend on abstractions, not on concretions. High-level modules should not depend on low-level modules. Both should depend on abstractions.

 Abstractions should not depend on details. Details should depend on abstractions.

The objective is modify each of the examples in order to not violate the corresponding SOLID principle.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].