Skip to content

Instantly share code, notes, and snippets.

@stevencurtis
Created September 30, 2022 09:19
Show Gist options
  • Save stevencurtis/0c1c22a65d3acd81aec38ba98146956b to your computer and use it in GitHub Desktop.
Save stevencurtis/0c1c22a65d3acd81aec38ba98146956b to your computer and use it in GitHub Desktop.
class DogHandler: Handler {
func handle(request: Animal) {
if request > .dog {
next?.handle(request: request)
} else {
print ("Handled by the dog handler")
}
}
var next: Handler?
}
class WolfHandler: Handler {
func handle(request: Animal){
if request > .wolf {
next?.handle(request: request)
} else {
print ("Handled by the wolf handler")
}
}
var next: Handler?
}
class ElephantHandler: Handler {
func handle(request: Animal){
if request > .elephant {
next?.handle(request: request)
} else {
print ("Handled by the elephant handler")
}
}
var next: Handler?
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment