ViniciusDeep / Swift-Climb-Architecture

🗿Repo aims to explain about Climb Architecture 🏛, Architecture is inspired on Solid by Uncle Bob. 💻

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Swift - Climb - Architeture

This architeture is inspired on Solid by Uncle Bob.

Its main goal is to follow the SOLID principles in order to keep the software well organised, testable, easy to maintain and more importantly easy to extend/change.

As explained in the posts above and in the book, databases, network clients and frameworks are abstracted in the off layers(Plugins) because you can reuse this components in another part of your code and should imported into app as dependecie injection to acess business and perform to Views to presentation.

graph

App

App is a layer of content your application, you can have many layers of apps, imagine that you have apps white label, you can use multi-target to reuse another components, in Plugins like a Service or in Reusable Layer, like a customize Cell

Constructor

This layer has responsible to construct your app and define and set where to go, and also where you can make your construction configuration and navigation

Features

Feature layer is where every feature of your app will be made with their respective layers

Business

This layer represent the business behind each feature, to make your code more testable, your business receives by dependency injection another layers to connect of your app, like a Service, Repository.

Controllers

Controller is your view and has a responsible of view, with a respective methods like a swift viewDidLoad, swift viewWillAppear you can should to set your customView at your controller and your controller made a bind of your components

AppTests

Even though I haven't written any tests yet, the whole project is completely testable, since all layers are being isolated by interfaces, as suggested by the SOLID principles, each feature

Getting Started

In Example, you can see how this Architeture works

Projects that use Climb:

Authors

License

Climb Architeture is under MIT license. See the LICENSE file for more info.

About

🗿Repo aims to explain about Climb Architecture 🏛, Architecture is inspired on Solid by Uncle Bob. 💻

License:Other


Languages

Language:Swift 99.2%Language:Ruby 0.8%