13
Design by Contract

Design by contract lightning talk

Embed Size (px)

Citation preview

Page 1: Design by contract lightning talk

Design by Contract

Page 2: Design by contract lightning talk

What is a contract?

Page 3: Design by contract lightning talk

Client

Page 4: Design by contract lightning talk

Supplier

Page 5: Design by contract lightning talk

Contract

●Invariant●Precondition●Postcondition

Page 6: Design by contract lightning talk

C4J

Design By Contract for Java

Page 7: Design by contract lightning talk

Features

● Pre/Post/Invariants● Transparent inheritance● Enforce Liskov substitution principle● Access to old values● Acess to fields

Page 8: Design by contract lightning talk
Page 9: Design by contract lightning talk
Page 10: Design by contract lightning talk

java ­javaagent:/home/toff/dev/c4j/c4j­2.7.5/lib/c4j.jar=trace=true ­ea

Page 11: Design by contract lightning talk
Page 12: Design by contract lightning talk
Page 13: Design by contract lightning talk