Application Design Concepts and Principles Flashcards

1
Q

What is encapsulation?

A

Encapsulation is a mechanism that is used for the creation of self-contained modules that bind processing functions to the data. It is used to enforce modularity. It can be used to keep the internal implementation details of the object hidden from other objects.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is Inheritance?

A

Inheritance is a process by which objects of a class acquire the properties of the objects of another class.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is Open Closed Principle (OCP)?

A

Open Closed Principle (OCP) states that software entities should be open for extension but closed for modification. It depicts that the design and writing of the code should be done in such a way that the latest functionality should be added with minimum modifications to the preexisting code. It also helps in reducing the coupling between classes to the abstract level.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is Liskov Substitution Principle (LSP)?

A

Liskov Substitution Principle (LSP) states that subclasses should be substitutable for their base classes. It depicts that if a program module is using a Base class, then the reference to the Base class can be substituted with a Derived class without affecting the functionality of the program module.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is Dependency Inversion Principle (DIP)?

A

Dependency Inversion Principle (DIP) depends upon abstractions and does not depend upon concretions. It is defined as a specific form of decoupling where conventional dependency relationships established from high-level, policy-setting modules to low-level, dependency modules are reversed to render high-level modules independent of the low-level module implementation details. Dependency Inversion Principle (DIP) describes how a user can adhere to OCP.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is Interface Segregation Principle (ISP)?

A

Interface Segregation Principle (ISP) states that many definite interfaces are better than a single, common interface. This principle states that clients should not be forced to implement interfaces they do not use.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is aggregation?

A

Aggregation is a type of association that specifies a whole/part relationship between the aggregate (whole) and a component part.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is composition?

A

In composition, when the owning object is destroyed, so are the contained objects.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What are SOLID principles?

A
  1. (SRP) Single responsibility principle.
  2. (OCP) Open/closed principle
  3. (LSP) Liskov substitution principle
  4. (ISP) Interface segregation principle
  5. (DIP) Dependency inversion principle
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What are the characteristics of aggregation?

A
  1. It does not imply ownership.
  2. It is an asymmetric relationship.
  3. It is a transitive relationship.
  4. It implies stronger coupling behavior (copy, delete, etc.).
    5.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is separation of concerns?

A

Separation of concerns acts as a conceptual tool that enables a user to administer the complexity of the software systems that the user develops. It enables users to break the complexity of a problem into loosely-coupled, easier to solve subproblems. It is a common problem solving heuristic consisting of solving a problem by addressing its constraints, first separately, and then by combining the partial solutions with the expectation that they must be composable and the resulting solution is almost optimal.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly