Top Banner
/27 @yegor256 1 Java vs OOP Yegor Bugayenko
27

Java vs OOP

Jan 16, 2017

Download

Software

Yegor Bugayenko
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Java vs OOP

/27@yegor256 1

Java vs OOP

Yegor Bugayenko

Page 2: Java vs OOP

/27@yegor256 2

long video showing Clojure 8000+ lines Java

class

Page 3: Java vs OOP

/27@yegor256 3

Javabooks

frameworks

Google

OOP

Page 4: Java vs OOP

/27@yegor256 4

if it works, it’s good

if it’s good, it works

Page 5: Java vs OOP

/27@yegor256 5

“Just make $1B with something instead of ORM and you will be right”

— Victor

Page 6: Java vs OOP

/27@yegor256 6

enemy #1:

books

Page 7: Java vs OOP

/27@yegor256 7

“Objects may contain data, in the form of fields, often known as attributes; and code, in the form of procedures, often known as methods”

Page 8: Java vs OOP

/27@yegor256 8

“Each object looks quite a bit like a little computer — it has a state, and it has operations that you can ask it to perform” - page 16

Page 9: Java vs OOP

/27@yegor256 9

“A class is a collection of data fields that hold values and methods that operate on those values” - page 98

Page 10: Java vs OOP

/27@yegor256 10

“An object is some memory that holds a value of some type” - page 40

Page 11: Java vs OOP

/27@yegor256 11

“An object consists of some private memory and a set of operations.” - page 6

Page 12: Java vs OOP

/27@yegor256 12

“An object is the equivalent of the quanta from which the universe is constructed” - page 66

Page 13: Java vs OOP

/27@yegor256 13

enemy #2:

languages

Page 14: Java vs OOP

/27@yegor256 14

static

publicnull

final

return

instanceof

.class

@

Page 15: Java vs OOP

/27@yegor256 15final

- immutability - setters - anemic model - data structures - procedural thinking

Page 16: Java vs OOP

/27@yegor256 16

static

- utility classes - singletons - procedural thinking

Page 17: Java vs OOP

/27@yegor256 17

instanceof

- reflection API - no polymorphism - no encapsulation - procedural thinking

.class

Page 18: Java vs OOP

/27@yegor256 18

@

- split objects apart - anemic model - procedural thinking

Page 19: Java vs OOP

/27@yegor256 19

enemy #3:

frameworks

Page 20: Java vs OOP

/27@yegor256 20

JAX-RSJPAPlay

Spring

JavaBeans

Apache Commons

Guava

JDK JAXB

Page 21: Java vs OOP

/27@yegor256 21

JAX-RS

@Path(“/”) public class Index { @GET @Produces(“text/plain”) public String get() { return “hello, world!”; } }

Page 22: Java vs OOP

/27@yegor256 22

Apache Commons

text = FileUtils.readFileToSTring(f); StringUtils.abbreviate(“hello, world!”); DigestUtils.md5(“some text”);

Page 23: Java vs OOP

/27@yegor256 23

JPA

@Entity(table = “book”) public class Book { @Id public int id; @Column public String title; }

Page 24: Java vs OOP

/27@yegor256 24

enemy #4:

Google

Page 25: Java vs OOP

/27@yegor256 25

Android SDK

android.app.Activity

200+ methods

it’s a shame

Page 26: Java vs OOP

/27@yegor256 26

time to change sides!

Page 27: Java vs OOP

/27@yegor256 27

$20

for JavaDay

[email protected]