All Projects → mrlegowatch → HeadFirstDesignPatternsSwift

mrlegowatch / HeadFirstDesignPatternsSwift

Licence: MIT license
An implementation of examples from "Head First Design Patterns", written in Swift.

Programming Languages

swift
15916 projects

Projects that are alternatives of or similar to HeadFirstDesignPatternsSwift

Design Patterns In Swift
📖 Design Patterns implemented in Swift 5.0
Stars: ✭ 13,146 (+65630%)
Mutual labels:  playground, design-patterns
Ios Design Patterns
Learning ground for iOS Design Pattern included with sample projects for MVC, MVP, MVVM, and VIPER
Stars: ✭ 120 (+500%)
Mutual labels:  playground, design-patterns
WWDC17
WWDC 2017 Scholarship Submission by Phil Zet (Philipp Zakharchenko)
Stars: ✭ 14 (-30%)
Mutual labels:  playground
design-patterns
Grokking design patterns in python
Stars: ✭ 24 (+20%)
Mutual labels:  design-patterns
CodeINN
CodeINN is an instant code editor 📃, that makes programming and development easier. Practice quickly and directly from your web browser, without any setup needed. CodeINN gives the perfect environment to developers technologists, coders computers, and geeks 🤓 to do more with their tech.
Stars: ✭ 39 (+95%)
Mutual labels:  playground
2D CARFIVE
2D Cartesian Quadtree Adaptive Mesh Refinement (AMR) for multiphase Five Equations Model
Stars: ✭ 23 (+15%)
Mutual labels:  design-patterns
pg-deadlock-playground
Playground for verifying that queries cannot deadlock
Stars: ✭ 17 (-15%)
Mutual labels:  playground
mongo-playground
Helps developers run mongo queries
Stars: ✭ 16 (-20%)
Mutual labels:  playground
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 (+25%)
Mutual labels:  design-patterns
express-mvc-pattern
Example nodejs using express implementation design pattern using mvc architecture.
Stars: ✭ 52 (+160%)
Mutual labels:  design-patterns
uml-diagram-for-kotlin-design-pattern-examples
UML diagram list of GoF design pattern examples written in Kotlin.
Stars: ✭ 23 (+15%)
Mutual labels:  design-patterns
Design-Patterns
Design Patterns
Stars: ✭ 29 (+45%)
Mutual labels:  design-patterns
fight-game
战斗小游戏-Java实现-设计模式
Stars: ✭ 26 (+30%)
Mutual labels:  design-patterns
Design-Patterns-In-Swift-CN
设计模式(Swift 5.0 实现)- 中文版
Stars: ✭ 290 (+1350%)
Mutual labels:  design-patterns
ontwik-ui
ontwik-ui - A headless UI library
Stars: ✭ 52 (+160%)
Mutual labels:  playground
goodcode
A curated collection of annotated code examples from prominent open-source projects
Stars: ✭ 184 (+820%)
Mutual labels:  design-patterns
eShopOnWeb
Sample ASP.NET Core 6.0 reference application, powered by Microsoft, demonstrating a layered application architecture with monolithic deployment model. Download the eBook PDF from docs folder.
Stars: ✭ 8,250 (+41150%)
Mutual labels:  design-patterns
refactoringtopatterns
A place to practice Refactoring To Patterns that Kerievsky wrote about in his book
Stars: ✭ 46 (+130%)
Mutual labels:  design-patterns
design-patterns-cpp14
🙏 Design patterns implemented in C++14
Stars: ✭ 35 (+75%)
Mutual labels:  design-patterns
swe
Examples and exercises used during Software Engineering course
Stars: ✭ 18 (-10%)
Mutual labels:  design-patterns

Head First Design Patterns in Swift

This repository contains sample code in Swift based on the book, "Head First Design Patterns", by Freeman & Robson, published by O'Reilly.

This code has been developed as part of a Book Club I am running with members of my team.

The original sample code in Java, which the book's examples are based on, can be found here: https://github.com/bethrobson/Head-First-Design-Patterns.

  • Each chapter has its own Swift Playground illustrating the evolution of sample code into one or two design patterns.
  • Each Playground page represents a step in the evolution of a design pattern, or a variation.
  • The final Playground page for each chapter includes Swift source files. The Playground page itself only contains the final "test" code, corresponding (usually) to the main() function in the Java code. The advantage of moving the final implementation to source files is that it forces consideration of access (public, internal, private, or fileprivate), since the playground itself can only access the public parts.
  • Where relevant, comments with "IN SWIFT:" indicate deviations from the Java sample code, in order to conform to Swift requirements or best practices.

Chapters:

  • Strategy Pattern
  • Observer Pattern
  • Decorator Pattern
  • Factory Pattern
  • Singleton Pattern
  • Command Pattern
  • Adapter and Façade
  • Template Method
  • Iterator and Composite
  • State Pattern

Note: we finished our book club before we completed the code for the remaining chapters. We hope you found this code useful.

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].