SOLID is Solid Enterprise principles in OOP architectural - - PowerPoint PPT Presentation

solid is solid
SMART_READER_LITE
LIVE PREVIEW

SOLID is Solid Enterprise principles in OOP architectural - - PowerPoint PPT Presentation

SOLID is Solid Enterprise principles in OOP architectural design-phase pattern-level constructs Hillel Wayne SOLID Single responsibility Openclosed principle Liskov substitution principle Interface segregation principle


slide-1
SLIDE 1

SOLID is Solid

Enterprise principles in OOP architectural design-phase pattern-level constructs Hillel Wayne

slide-2
SLIDE 2

SOLID

◮ Single responsibility ◮ Open–closed principle ◮ Liskov substitution principle ◮ Interface segregation principle ◮ Dependency inversion principle

@hillelogram

slide-3
SLIDE 3

Why SOLID?

@hillelogram

slide-4
SLIDE 4

Why SOLID?

@hillelogram

slide-5
SLIDE 5

Why SOLID?

@hillelogram

slide-6
SLIDE 6

Why SOLID?

@hillelogram

slide-7
SLIDE 7

Why SOLID?

@hillelogram

slide-8
SLIDE 8

Why SOLID?

@hillelogram

slide-9
SLIDE 9

What We Can Learn From Software History

Hillel Wayne hillelwayne.com @hillelogram

slide-10
SLIDE 10

www.hillelwayne.com/talks/software-history

@hillelogram

slide-11
SLIDE 11

When you create the new classes, make sure you properly test them and create them using SOLID principles so they will be easier to change in the future. If it’s too complex, it’s violating a ton of SOLID principles. Don’t be STUPID: GRASP SOLID!

@hillelogram hillelwayne.com/talks/software-history

slide-12
SLIDE 12

The Process

@hillelogram hillelwayne.com/talks/software-history

slide-13
SLIDE 13

@hillelogram hillelwayne.com/talks/software-history

slide-14
SLIDE 14

Do you know CS?

@hillelogram hillelwayne.com/talks/software-history

slide-15
SLIDE 15

Do you know CS? Can you think quickly?

@hillelogram hillelwayne.com/talks/software-history

slide-16
SLIDE 16
  • 1. When did it happen?

@hillelogram hillelwayne.com/talks/software-history

slide-17
SLIDE 17

@hillelogram hillelwayne.com/talks/software-history

slide-18
SLIDE 18
  • 2. What was the context?

@hillelogram hillelwayne.com/talks/software-history

slide-19
SLIDE 19

Primary Source

Artifacts and information from that time

Secondary Source

Information produced after the fact

@hillelogram hillelwayne.com/talks/software-history

slide-20
SLIDE 20

@hillelogram hillelwayne.com/talks/software-history

slide-21
SLIDE 21

@hillelogram hillelwayne.com/talks/software-history

slide-22
SLIDE 22

Do you know CS? Can you think quickly?

@hillelogram hillelwayne.com/talks/software-history

slide-23
SLIDE 23
  • 3. What were the reasons?

@hillelogram hillelwayne.com/talks/software-history

slide-24
SLIDE 24

Dynamic allocation

@hillelogram hillelwayne.com/talks/software-history

slide-25
SLIDE 25

Dynamic allocation

Fortran Nope

@hillelogram hillelwayne.com/talks/software-history

slide-26
SLIDE 26

Dynamic allocation

Fortran Nope Lisps just cons it Smalltalk copyWith: newElement

@hillelogram hillelwayne.com/talks/software-history

slide-27
SLIDE 27

Dynamic allocation

Fortran Nope Lisps just cons it Smalltalk copyWith: newElement C Manual memory manipulation

@hillelogram hillelwayne.com/talks/software-history

slide-28
SLIDE 28

Do you know CS?

@hillelogram hillelwayne.com/talks/software-history

slide-29
SLIDE 29

Do you know CS? Can you think quickly?

@hillelogram hillelwayne.com/talks/software-history

slide-30
SLIDE 30

Do you know CS? Can you think quickly? Have you used C?

@hillelogram hillelwayne.com/talks/software-history

slide-31
SLIDE 31
  • 4. What does this predict?

@hillelogram hillelwayne.com/talks/software-history

slide-32
SLIDE 32

@hillelogram hillelwayne.com/talks/software-history

slide-33
SLIDE 33

Does anyone know of a version of Smalltalk that runs on Apollo workstations? [...] i’ve heard rumors that such a program exists at Utah or Brown but have no firm pointers.

  • nly full Smalltalk-80 please – not little Smalltalk.

@hillelogram hillelwayne.com/talks/software-history

slide-34
SLIDE 34

Does anyone know of a version of Smalltalk that runs on Apollo workstations? [...] i’ve heard rumors that such a program exists at Utah or Brown but have no firm pointers.

  • nly full Smalltalk-80 please – not little Smalltalk.

@hillelogram hillelwayne.com/talks/software-history

slide-35
SLIDE 35

@hillelogram hillelwayne.com/talks/software-history

slide-36
SLIDE 36

@hillelogram hillelwayne.com/talks/software-history

slide-37
SLIDE 37

@hillelogram hillelwayne.com/talks/software-history

slide-38
SLIDE 38

@hillelogram hillelwayne.com/talks/software-history

slide-39
SLIDE 39
  • 5. What are the loose ends?

@hillelogram hillelwayne.com/talks/software-history

slide-40
SLIDE 40

@hillelogram hillelwayne.com/talks/software-history

slide-41
SLIDE 41

Pointers require a complex form of doubly-indirected thinking that some people just can’t do, and it’s pretty cru- cial to good programming. A lot of the “script jocks” who started programming by copying JavaScript snippets into their web pages and went on to learn Perl never learned about pointers, and they can never quite produce code of the quality you need.

@hillelogram hillelwayne.com/talks/software-history

slide-42
SLIDE 42

Pointers require a complex form of doubly-indirected thinking that some people just can’t do, and it’s pretty cru- cial to good programming. A lot of the “script jocks” who started programming by copying JavaScript snippets into their web pages and went on to learn Perl never learned about pointers, and they can never quite produce code of the quality you need. That’s the source of all these famous interview ques- tions you hear about, like “reversing a linked list” or “de- tect loops in a tree structure.”

@hillelogram hillelwayne.com/talks/software-history

slide-43
SLIDE 43

@hillelogram hillelwayne.com/talks/software-history

slide-44
SLIDE 44

Conclusion

@hillelogram hillelwayne.com/talks/software-history

slide-45
SLIDE 45

www.hillelwayne.com/talks/software-history

@hillelogram hillelwayne.com/talks/software-history