Software Design Techniques

0.0(0)
studied byStudied by 0 people
0.0(0)
full-widthCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/44

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

45 Terms

1
New cards

anyone can build a software to last a month, but it takes a good developer to design software that is _________

stable and long lived

2
New cards

what are the phases of learning programming?

Programming principles, Design principles, Object oriented concepts

3
New cards

what is OOP?

OOP is a programming paradigm based on defining, creating, and manipulating objects to develop feasible software

4
New cards

What does APIE stand for?

Abstraction, Polymorphism, Inheritance, Encapsulation

5
New cards

design principles are a set of _______

high level guidelines

6
New cards

3 design principles?

Open-close principle

Favor composition over inheritance

Liskov substitution principle

7
New cards

what does each pattern describe (design)?

a problem that occurs frequently in our environment, and the solution to said problem, in such a way that you can use that solution a million times over and never repeat yourself

8
New cards

what are 3 design patterns?

State design pattern, memento design pattern, composite design pattern

9
New cards

A pattern has four essential elements:

pattern name, problem, solution, consequences

10
New cards

the problem describes?

when to apply a pattern

11
New cards

true or false: the solution to a pattern describes a concrete design or implementation

false

12
New cards

consequences often concern?

space and time

13
New cards

T/F: there can only be one top level public class per file in java?

True

14
New cards

Package _______

com.yourCompanyName

15
New cards

the java programming language is ______-typed

statically

16
New cards

what does statically typed mean?

the variables must first be declared before they can be used

17
New cards

primitive data types:

boolean, char, byte, short, int, long, float, double

18
New cards

T/F: It's not always necessary to assign a value when a field is declared

True, considered bad programming practice

19
New cards

T/F: the compiler assigns a default value to an
uninitialized local variable

False

20
New cards

how to print in java?

system.out.println()

21
New cards

main function args?

public static void main(String [] args)

22
New cards

you can call a constructor from another constructor using ____ keyword

this()

23
New cards

the new operator returns a what

returns a reference to the object that was created in heap memory

24
New cards

to inherit a calls, use the _____ keyword

extends

25
New cards

override annotation is _____

@override

26
New cards

T/F: every class has Class Object as a superclass

True

27
New cards

packages are _____ for classes

containers for classes

28
New cards

the toString method for Class Object returns what?

a string consisting of the name of the class for the object instance

the @ sign character

unassigned hexadecimal representation of the hash code of the object

29
New cards

in java, strings are:

objects

30
New cards

The static keyword is used to create fields and methods that belong to the _______ rather than ________

class, to an instance of the class

31
New cards

a final class cannot be _____

subclassed

32
New cards

Abstract classes
cannot be instantiated, but they can be ____

subclassed

33
New cards

in the interface, all elements of the body are what?

static and final

34
New cards

can you instantiate an instance of an interface class?

no

35
New cards

with interfaces, all fields are automatically:

public, static, final

36
New cards

You can extend only
___ class, whereas
you can implement
______
interfaces


only one class, any number of interfaces

37
New cards

when to use abstract class?

share code between closely related classes

want to declare non static or non final fields

require other access modifiers besides public

38
New cards

Wrapper classes provide a way to use _______ data types as ______

primitive, objects

39
New cards

T/F: Generic does not allow using primitive types

True

40
New cards

List interface includes operations for:

iteration, search, positional access, range-view

41
New cards

what is an Array List?

A resizable array implementation of a List interface

42
New cards
43
New cards
44
New cards
45
New cards