rails missed layers

45
Rails Missed Layers

Upload: volodya-sveredyuk

Post on 20-Feb-2017

131 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Rails Missed Layers

RailsMissed Layers

Page 2: Rails Missed Layers

Model

Controller

View

Page 3: Rails Missed Layers
Page 4: Rails Missed Layers

FORM OBJECT

Page 5: Rails Missed Layers

FORM OBJECT IS A DESIGN PATTERN THAT

ENCAPSULATES LOGIC RELATED TO VALIDATING AND

PERSISTING DATA.

Page 6: Rails Missed Layers
Page 7: Rails Missed Layers
Page 8: Rails Missed Layers
Page 9: Rails Missed Layers
Page 10: Rails Missed Layers
Page 11: Rails Missed Layers

SERVICE OBJECT

Page 12: Rails Missed Layers

Service Objects are created when an action:

is complex (such as calculating an employee’s salary)uses APIs of external services

clearly doesn’t belong to one model (for example, deleting outdated data)

uses several models (for example, importing data from one file to several models)

Page 13: Rails Missed Layers
Page 14: Rails Missed Layers
Page 15: Rails Missed Layers
Page 16: Rails Missed Layers
Page 17: Rails Missed Layers
Page 18: Rails Missed Layers

INTERACTOR OBJECT

Page 19: Rails Missed Layers
Page 20: Rails Missed Layers
Page 21: Rails Missed Layers

VALUE OBJECT

Page 22: Rails Missed Layers
Page 23: Rails Missed Layers
Page 24: Rails Missed Layers
Page 25: Rails Missed Layers

QUERY OBJECT

Page 26: Rails Missed Layers

Query Object is a design pattern that lets us extract query logic from Controllers and Models into reusable

classes.

Page 27: Rails Missed Layers
Page 28: Rails Missed Layers
Page 29: Rails Missed Layers

POLICY OBJECT

Page 30: Rails Missed Layers

Policy Objects encapsulate complex business rules and can easily be replaced by other Policy Objects with

different rules.

Page 31: Rails Missed Layers
Page 32: Rails Missed Layers
Page 33: Rails Missed Layers
Page 34: Rails Missed Layers

WHAT’S NEXT ?

Page 35: Rails Missed Layers
Page 36: Rails Missed Layers
Page 37: Rails Missed Layers
Page 38: Rails Missed Layers
Page 39: Rails Missed Layers
Page 40: Rails Missed Layers
Page 41: Rails Missed Layers
Page 42: Rails Missed Layers

NAMING

Page 43: Rails Missed Layers
Page 44: Rails Missed Layers
Page 45: Rails Missed Layers

QUESTION ?