Headfirst design mode This book is very good and ready for one months to finish. The book speaks very clearly.
Design principles:
1. Find out where changes may be needed in your application, separate them, and don't mix with code that doesn't need to change.
2, for the interface programming, but not for the implementation of programming.
The code in the book is written in Java and is now being translated with Swift, with no technical content.
protocol Flybehavior {func fly ()-void}protocol Quackbehavior {func quack ()-Void}classCannotfly:flybehavior {init () {} func Fly () {println ("can't fly") }}classQuack:quackbehavior {init () {} func Quack () {println ("Quack") }}classDuck {var flybehavior:flybehavior? var quackbehavior:quackbehavior? Init () {} func Swim () {} func display () {} func Fly () {Flybehavior? . Fly ()} func Quack () {Quackbehavior?. Quack ()}}classMiniducksimulator:duck {override init () {super.init ()}}let Miniduck=miniducksimulator () println ("................") miniduck.fly () Miniduck.flybehavior=cannotfly () println ("................") miniduck.fly ()
Headfirst design mode Swift version 01