object oriented analysis and design flexible software

Post on 09-Jun-2015

226 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

QUALITY. PRODUCTIVITY. INNOVATION.

endava.com

Object Oriented Analysis and DesignGive your software a 30-

minute workout

2

Give your software a 30-minute workout

Flexible software

Benefits of analysis Design decisions Flexible applications Cohesion OOA&D Toolbox

QUALITY. PRODUCTIVITY. INNOVATION.

3

3 QUALITY. PRODUCTIVITY. INNOVATION.

4

4

We should use only one search method, using InstrumentSpec

5

5

6

6

public class Inventory { private final List<Instrument> inventory; public Inventory() { inventory = new LinkedList<>(); } public void addInstrument(String serialNumber, double price, InstrumentSpec spec) { Instrument instrument = null; if (spec instanceof GuitarSpec) { instrument = new Guitar(serialNumber, price, (GuitarSpec) spec); } else if (spec instanceof MandolinSpec) { instrument = new Mandolin(serialNumber, price, (MandolinSpec) spec); } inventory.add(instrument); } public Instrument get(String serialNumber) { for (Instrument instrument : inventory) { if (instrument.getSerialNumber().equals(serialNumber)) { return instrument; } } return null; } public List<Instrument> search(InstrumentSpec searchSpec) { List<Instrument> matchingInstruments = new LinkedList<>(); for (Instrument instrument : inventory) { if (instrument.getSpec().matches(searchSpec)) { matchingInstruments.add(instrument); } } return matchingInstruments; }}

7

7 QUALITY. PRODUCTIVITY. INNOVATION.

8

8 QUALITY. PRODUCTIVITY. INNOVATION.

9

9 QUALITY. PRODUCTIVITY. INNOVATION.

10

10 QUALITY. PRODUCTIVITY. INNOVATION.

11

11 QUALITY. PRODUCTIVITY. INNOVATION.

12

12 QUALITY. PRODUCTIVITY. INNOVATION.

13

13 QUALITY. PRODUCTIVITY. INNOVATION.

14

14 QUALITY. PRODUCTIVITY. INNOVATION.

15

15 QUALITY. PRODUCTIVITY. INNOVATION.

16

16 QUALITY. PRODUCTIVITY. INNOVATION.

17

17

The great ease-of-change challenge

QUALITY. PRODUCTIVITY. INNOVATION.

18

18 QUALITY. PRODUCTIVITY. INNOVATION.

19

19 QUALITY. PRODUCTIVITY. INNOVATION.

20

20 QUALITY. PRODUCTIVITY. INNOVATION.

21

21 QUALITY. PRODUCTIVITY. INNOVATION.

QUALITY. PRODUCTIVITY. INNOVATION.

Secrieru RaduJunior Developer

top related