Comprehensive Guide to Object-Oriented Programming and Design Patterns

Flashcard Icon

Flashcard

Learn Mode Icon

Learn Mode

Match Icon

Match

Coming Soon!
Library Icon

Library

View Library
Match Icon

Create

Create More Decks
Flashcard Icon Flashcards
Flashcard Icon Flashcards
Library Icon Library
Match Icon Match (Coming Soon)

Computer Science - Software Engineering

View Results
Full Screen Icon

user_kumartyv Created by 9 mon ago

Cards in this deck(74)
A _____ class is a class with the _____ modifier indicating the class is incomplete. An _____ class by definition cannot be instantiated. It must be used as a parent class.
Blur Image
_____ classes are similar to other classes, but they have the keyword _____. Unlike an interface, _____ classes can have normal properties, fields, methods, etc. They are kind of like an incomplete class.
Blur Image
Can declare a member field and can provide complete default code, or just provide the signature that must be overridden. This describes the advantages of _____ classes.
Blur Image
_____ classes do not provide full abstraction and cannot achieve multiple inheritance.
Blur Image
A contract of methods for a class is known as an _____.
Blur Image
Lots of different classes can all implement the same _____ (with different behaviors depending on the class), provides full abstraction, and can achieve multiple inheritance.
Blur Image
_____ cannot declare a member field, cannot provide any code, just the signatures.
Blur Image
The 4 Pillars of OOP are encapsulation, abstraction, inheritance, and _____.
Blur Image
Encapsulation involves bundling data and methods that work on that data within a single unit (i.e., the object). It is used to hide the internal representation, or state, of an object from the outside. This describes the concept of _____.
Blur Image
Handle complexity by hiding unnecessary details from the user, enabling the user to implement more complex logic on top of the _____ without needing to understand the hidden complexity. Simpler interface. Reduces the impact of change.
Blur Image
_____ a new class from an existing class forming a hierarchy of classes. The derived class or subclass _____ methods and properties from the parent or super class. Intended to help with reuse of existing code with little or no modification.
Blur Image
Literally means many forms. It describes the idea that different classes can be used with the same interface. Each class can provide its own implementation of the interface. This describes _____.
Blur Image
We can often 'combine' multiple steps either into one line of code, or into a new function to contain them (an object that's a field in another class ('has a' relationship > 'is a')). This describes the concept of _____.
Blur Image
Single Responsibility Principle (SRP), Open/Closed Principle (OCP), Liskov Substitution Principle (LSP), Interface Segregation Principle (ISP), Dependency Inversion Principle (DIP) are collectively known as _____.
Blur Image
A class should have one and only one reason to change. Find one reason to change and take everything else out of the class. This describes the _____.
Blur Image
Software entities should be open for extension but closed for modification. Extend functionality by adding new code instead of changing existing code. This describes the _____.
Blur Image
A subclass should behave in such a way that it will not cause problems when used instead of the superclass. This describes the _____.
Blur Image
Clients should not be forced to depend upon interfaces that they don't use. Break down interfaces into smaller pieces. This describes the _____.
Blur Image
'Code to a contract' instead of concrete implementations. High-level modules should not depend on low-level modules. This describes the _____.
Blur Image
The term _____ was originally used by Christopher Alexander to describe building architecture, but has seen many applications since in software development.
Blur Image
Tried and proven solutions, provides common vocabulary, gets us out of the weeds early in the design process. These are reasons to learn _____.
Blur Image
Defines a family of algorithms, encapsulates each one, and makes them interchangeable. This describes the _____.
Blur Image
The application must be aware of all strategies to select the right one. This is a drawback of the _____.
Blur Image
Attaches additional responsibilities to an object dynamically (wrapper). This describes the _____.
Blur Image
Open for modification without changing base classes, responsibilities are added to an object dynamically. These are advantages of the _____.
Blur Image
Many little objects which may appear to all look alike can be very difficult to debug. This is a drawback of the _____.
Blur Image
The _____ pattern converts the interface of a class into another interface the clients expect. It lets classes work together that couldn't otherwise because of incompatible interfaces.
Blur Image
Helps achieve reusability and flexibility. Clients class is not complicated by having to use a different interface. This is an advantage of the _____.
Blur Image
All requests are forwarded, so there is an increase in overhead. This is a disadvantage of the _____.
Blur Image
Defines a one-to-many dependency between objects so that when one object changes state, all of its dependents are notified and updated automatically. This describes the _____.
Blur Image
Observers are updated in a random order and repeated updates when there is a series of incremental changes. This is a drawback of the _____.
Blur Image
Ensures a class has no more than one instance, and provides a global point of access to it. This describes the _____.
Blur Image
_____ statements are used to prevent SQL injection.
Blur Image
Multithreading is the ability of a central processing unit (CPU) to provide multiple threads of execution concurrently, supported by the _____.
Blur Image
A body of practices, procedures, and rules used by those who work in a discipline is known as a _____.
Blur Image
They're a guide post (provide structure), ability to scale, reuse, more predictable results, reduces costs/risks. These are reasons why we use _____.
Blur Image
A structured but informal process, process repeated frequently, generate stories, code, test, repeat, implement THEN document. This describes an _____.
Blur Image
Unlimited customer access, many experts, culture of empowerment, virtual teams, low team turnover, high potential for scope creep/evolving requirements. These are advantages and disadvantages of _____.
Blur Image
Scrum, XP, Crystal, FDD are examples of _____.
Blur Image
Formalized process with well-defined stages. Plan, analyze, design, develop, test, implement supports. Document THEN implement. This describes a _____.
Blur Image
Well-defined requirements, low potential for scope creep, large teams, virtual teams, limited customer access. These are advantages and disadvantages of _____.
Blur Image
Waterfall, ADM, SDLC are examples of _____.
Blur Image
The application of knowledge, skills, tools, and techniques to project activities to meet project requirements is known as _____.
Blur Image
Risks, process facilitation, expectations are aspects of what you are actually managing in _____.
Blur Image
The stage where stakeholders are identified, scope is defined, risks are identified, team's skills are assessed, a high-level design is created, and requirements traceability is set up is known as the _____.
Blur Image
Creational patterns, structural patterns, and behavioral patterns are categories of _____.
Blur Image
Defines an interface for creating an object, but lets subclasses decide which class to instantiate. This describes the _____.
Blur Image
Allows subclasses to choose the type of objects to create and promotes loosely coupled code. These are advantages of the _____.
Blur Image
Whenever the class selection criteria changes, every application object that uses the class hierarchy must undergo a change. This is a disadvantage of the _____.
Blur Image
A self-contained server-less database that is an ordinary disk file that can be located anywhere in the directory hierarchy is known as a _____.
Blur Image
Gather, identify, analyze, and manage the requirements. Evaluate package software and select technology infrastructure. This is the purpose of the _____.
Blur Image
To describe how a system can be used to achieve specific goals or tasks. This is the purpose of _____.
Blur Image
A solution to show how a low-level requirement is linked to its parent high-level requirement is known as _____.
Blur Image
To help you understand the needs, experiences, behaviors, and goals of your users. This is the purpose of _____.
Blur Image
Necessary, does not restrict design, verifiable, easy to understand, achievable, specify one function, unique, traceable. These are characteristics of _____.
Blur Image
Seeks to develop detailed specifications that emphasize the physical solution to the user's information technology needs. This describes the _____.
Blur Image
The standard markup language for creating Web pages. It describes the structure of a Web page. This describes _____.
Blur Image
A style sheet language used for specifying the presentation and styling of a document written in a markup language such as HTML. This describes _____.
Blur Image
A programming language and core technology of the Web, alongside HTML and CSS. This describes _____.
Blur Image
Do not block (or wait) for the API call to return from the server. Execution continues on in your program. This describes an _____.
Blur Image
Code execution will block (or wait) for the API call to return before continuing. This describes a _____.
Blur Image
The practice of writing code to test code. These tests run in an automated fashion, typically following each commit. This describes _____.
Blur Image
Unit test, integration test, end-to-end test are types of _____.
Blur Image
Unit tests a single unit of an application without concerns with external dependencies. Integration tests the application with its external dependencies. E2E drives an application through the UI. This describes the purpose of each _____.
Blur Image
Unit tests at the base, integration tests in the middle, and end-to-end tests at the top. This describes the _____.
Blur Image
The practice of tracking and managing changes to code is known as _____.
Blur Image
A set of functions that allows applications to access data and interact with external software components, operating systems, or microservices. This describes an _____.
Blur Image
Public, partner, private, and composite are the most popular types of _____.
Blur Image
A pattern that combines two or more patterns into a solution that solves a recurring or general problem is known as _____.
Blur Image
Model View Controller is an example of _____.
Blur Image
Notifying the view when its state has changed is the responsibility of the _____.
Blur Image
Asks the model for state is the responsibility of the _____.
Blur Image
Asks both the model and view to change its state is the responsibility of the _____.
Blur Image
Strategy (controller), Observer (model), Composite (view) are examples of lower-level patterns that make up the _____ compound pattern.
Blur Image

Ask Our AI Tutor

Get Instant Help with Your Questions

Need help understanding a concept or solving a problem? Type your question below, and our AI tutor will provide a personalized answer in real-time!

How it works

  • Ask any academic question, and our AI tutor will respond instantly with explanations, solutions, or examples.
Flashcard Icon
  • Browse questions and discover topic-based flashcards
  • Practice with engaging flashcards designed for each subject
  • Strengthen memory with concise, effective learning tools