Reactive Architecture: Domain Driven Design Quiz Answers – Cognitive Class

Get Reactive Architecture: Domain Driven Design Quiz Answers

Domain Driven Design is a technique commonly used to build Reactive Systems. This course will introduce the core elements of Domain Driven Design. It will also explain how those elements relate to Reactive Systems.

Enroll on Cognitive Class

Domain Driven Design Review

Question: True or False: Many of the guidelines and rules in Domain Driven Design are compatible with those in Reactive Architecture.

  • True
  • False

Question: What are some key goals of Domain Driven Design?

  • Provide isolation for software designers to create models of domain processes without the bias or experience of business domain experts.
  • Take a large domain or system and break it down into smaller pieces or subsections. 
  • Make domain model design the sole responsibility of domain experts.
  • Create communication channels between domain experts and software developers. 
  • None of above.

Question: True or False: Often a single all-inclusive model of a very large domain can contain much, and at times overwhelming, complexity. Breaking those large domains into smaller pieces can result in making the complexity more manageable and understandable.

  • True
  • False

Question: If we break down a large domain into smaller pieces we need to:

  • Clearly determine the boundaries of the smaller pieces and how each piece does or doesn’t interact with the other pieces in the larger domain.
  • Design a model that puts the pieces back to get into a single understandable domain. This results in changes to the business or organization processes.
  • Do nothing more. Simply breaking the domain into pieces is enough.

What is a Domain Review

Question: In the world of software architecture and development a domain can be discribed as:

  • The portion of a URL that identifies the name of a website.
  • a repository where code is packaged and stored.
  • referring to the core group of developers in a given Agile team.
  • referring to a business or idea that we are trying to model.

Question: Typical domain experts in an insurance company are:

Note: Make sure you select all of the correct options—there may be more than one!

  • QA Tester
  • Claims Adjuster
  • Claims Clerk
  • Server Sys Admin
  • Sales Agent
  • Java Engineer

Question: True or False: A domain model is part of the software application.

  • True
  • False

Question: True or False: Domain experts should be able to easily understand the domain model.

  • True
  • False

Question: The name of the form of communication that domain experts and software developers can understand is:

  • Domain Terminolgy
  • Universal Language
  • Ubiqutous Language
  • Common Vernacular

Question: True or False: Domain Experts provide language that is used in the software, and software developers provide language that is used in the domain. Both provide input in equal proportions.

  • True
  • False

Question: True or False: If developers find a process or abstraction in a domain that doesn’t appear to have a name, the developers should talk to the domain experts about whether it already exists or co-create a new term to discribe it.

  • True
  • False

Reactive BBQ Domain

Question: Which of the following people represent Domain Experts for the Reactive BBQ?

Note: Make sure you select all of the correct options—there may be more than one!

  • Software Developers building the new system
  • The person washing the dishes.
  • The CEO
  • Software Developers maintaining the old system
  • The Corporate Head Chef
  • The Operations team responsible for deploying the software in production.
  • The Chefs and Cooks in the restaurants
  • The Serving Staff (Servers)

Question: While building the new system, we need to define a term that indicates when an order has been completed by a server, and is being sent to the kitchen to be cooked. The best people to ask about the right term are:

  • The Dictionary
  • The Servers
  • The Software Developers
  • The CEO

Question: Which of the following are terms you would find in the Reactive BBQ Ubiquitous Language?

  • Table, Row, Column
  • Host, Server, Cook
  • Reservation, Order, Delivery
  • Account, Transaction, Deposit
  • Inventory, Work Schedule, Wage

Decomposing the Domain Review

Question: Sub domains are created by:

  • Dividing our code into equal manageable subdomain chunks, usually based on a division of total application lines of code.
  • Grouping related business ideas, actions and rules into separate subdomains.
  • Grouping all interface code, all persistence code and all business logic code into three code subdomains.
  • Grouping isolated data (for example, all Customer data) that will go into separate persistence stores.

Question: True or False: It is impossible for a concept (such as Order or Customer) to exist in multiple sub domains.

  • True
  • False

Question: True or False: If we do find a concept (such as Order or Customer) that appears to exist in multiple subdomains, we are defining the concept at too low a level and thus need to define the concept at a higher level of abstraction.

  • True
  • False

Question: True or False: Each subdomain has its own ubiqutious language.

  • True
  • False

Question: True or False: Terms in the ubiquitous language are never shared between subdomains.

  • True
  • False

Question: The bounded context is:

  • A technique to constrain the business activities so they resemble well defined method calls.
  • The ubiqutious language and model of a subdomain.
  • The ubiqutious languages and models of all subdomains.
  • A namespace within our application that is tightly restricted in scope.

Question: True or False: When initially defining microservices, it’s often a good idea to start with your bounded contexts: one bounded context = one microservice.

  • True
  • False

Question: True or False: One bounded context always equals one, and only one, microservice.

  • True
  • False

Question: True or False: From one bounded context to another the meaning of a word or concept, for example Customer, may dramatically change.

  • True
  • False

Question: What are some guidelines we can use to determine a bounded context?

Note: Make sure you select all of the correct options—there may be more than one!

  • Business strategic goals always identify bounded contexts.
  • Consider human interactions and communication that seem to form a subculture within a broader organization.
  • Bounded contexts are often found in business marketing matierials, particularly online ads.
  • Look for changes in the ubiqutous language.
  • Job classifications within organizational subgroupings might suggest various bounded contexts.
  • A clear grouping of business processes and workflows could point to a bounded context.
  • None of the above.

Question: Event First Domain Driven Design identifies bounded contexts by looking for activities or events that occur in the domain. What are some examples of activities or events?

Note: Make sure you select all of the correct options—there may be more than one!

  • The delivery app logs all deliveries.
  • Customer makes a reservation.
  • Server places an order.
  • Database commits a order payment.
  • None of the above.

Domain Activities

Question: Based on this interview, Which of the following represent activities performed by the Server?

Note: Make sure you select all of the correct options—there may be more than one!

  • Server cooks food for customer
  • Server helps guests understand the menu
  • Server adds item to order
  • Server collects payment
  • Server takes food to customer
  • Server takes reservation for customer

Question: Based on this interview, Which of the following represent activities performed by the Driver?

Note: Make sure you select all of the correct options—there may be more than one!

  • Driver sets status flag on order to “delivered”.
  • Driver receives delivery notification
  • Driver picks up food for delivery
  • Driver collects payment

Maintaining Purity Review

Question: True or False: Concepts in one bounded context should always mean the same thing in another bounded context. Thus, there is no need to translate concepts between bounded contexts.

  • True
  • False

Question: If we always treated a concept, for example Customer, exactly the same across many different bounded contexts, we may introduce:

  • redundancy into our system.
  • parralellism into our system.
  • coupling between contexts in our system.
  • sameness into our system.

Question: We can prevent one bounded context from leaking into another by using a:

  • Anti-Corruption Layer.
  • Rule that says one context never communicates with another.
  • Access Control List.
  • Context Leak Prevention Layer
  • None of above.

Question: Why is it a good idea to use an abstract interface for an Anti-Corruption Layer?

  • Because interfaces are common across all major programming languages and as such are a common way to implement patterns.
  • The abstract interface is the Anti-Corruption equivalent of a Enterprise Road-Check pattern. The Enterpise Road-Check pattern dictates that you can’t go to another location without going through the check.
  • Because an Anti-Corruption Layer is a way of interacting between bounded conexts.
  • The abstract interface can be a pure domain representation, while concrete classes extending the interface can be specific infrastructure implementations. This keeps the core job of the Anti-Corruption layer (stating what it does or provides) without locking into the specific system details needed to do it.

Question: True or False: We avoid using Anti-Corruption Layers when our bounded contexts interact with legacy systems. Our bounded contexts should mirror the legacy system interface.

  • True
  • False

Question: True or False: Its sometimes neccessary to have Anti-Corruption layers on both sides of the interaction between bounded contexts or a bounded context and legacy system.

  • True
  • False
context map

Question: True or False: The above is an excellent example of a Context Map.

  • True
  • False

Bounded Contexts

Question: Which of the following is NOT a candidate for an object in the activities we defined for the host?

  • Host
  • Customer
  • Reservation

Question: Which of the following is NOT a candidate for an object in the activities we defined for the host?

  • Delivery
  • Payment
  • Order

Question: For the following activities, what is a possible object in the sentence:

Online Customer adds Menu items to an Order

Answer: Menu

Online Customer makes Payment for an Order

Answer: Payment

Online Customer Makes Reservation

Answer: Reservation

Question: While it’s not comprehensive, the list of objects in our activities make good candidates for Bounded Contexts.

Based on the objects defined in the activities above, which of the following are possible candidates for Bounded Contexts?

Note: Make sure you select all of the correct options—there may be more than one!

  • Delivery
  • Reservations
  • Payments
  • Notification
  • Orders
  • Website
  • Menu
  • Restaurant

Categorizing Activities

Question: Which Bounded Context do the following Activities belong in?

Host changes time of a reservation.

  • Payments
  • Customers
  • Orders
  • Menu
  • Reservations

Customer cancels an order.

  • Reservations
  • Customers
  • Menu
  • Payments
  • Orders

Customer views the menu online.

  • Payments
  • Menu
  • Orders
  • Customers
  • Reservations

Host changes customer phone number.

  • Customers 
  • Orders
  • Payments
  • Reservations
  • Menu

Server adds menu item to an order.

  • Customers
  • Reservations
  • Orders 
  • Menu
  • Payments

Customer makes payment for an order online.

  • Payments 
  • Customers
  • Menu
  • Orders
  • Reservations

Server adjusts the price on a menu item for a customer order.

  • Menu
  • Orders 
  • Reservations
  • Customers
  • Payments

Domain Activities Review

Question: The following are types of activities in Domain Driven Design:

Note: Make sure you select all of the correct options—there may be more than one!

  • Statements
  • Events
  • Queries
  • Suppositions
  • Reports
  • Commands
  • Directives

Question: Which type of activity is a request to perform an action?

  • Ask
  • Statement
  • Directive
  • Command

Question: True or False: A command represents an established fact in your system.

  • True
  • False

Question: True or False: Commands can never be rejected.

  • True
  • False

Question: If accepted and executed, commands cause:

  • the retrieval of domain data.
  • side effects in every case.
  • a change to the state of the domain.
  • None of above.

Question: Which type of activity represents an action that happened in the past?

  • Incident
  • Suposition
  • Statement
  • Event

Question: True or False: An event represents an established fact in your system.

  • True
  • False

Question: True or False: An event can be rejected or completely wiped from a system.

  • True
  • False

Question: True or False: An event can be broadcasted to many destinations within a system.

  • True
  • False

Question: What are some characteristics of events in Domain Driven Design?

  • Have one or more attendees.
  • Are always line items in logs.
  • Often result of command.
  • Represent business process failures.
  • Record changes to domain state.

Question: What are some examples of events?

  • Cook meal
  • Order inventory
  • Record customer order
  • Drink served
  • Generate sales report
  • List all customer orders

Question: Which type of activity represents a request for information about the domain?

  • Finder
  • Command
  • Report
  • Query

Question: True or False: A query can be rejected, returning no response at all.

  • True
  • False

Question: What are some characteristics of queries in Domain Driven Design?

  • They always result in changes to the domain state.
  • They can be ignored, never providing an response.
  • They never result in changes to the domain state.
  • Represent the method of asking another part of the system to do something.
  • Are usually delivered to specific destiniations with the system.

Question: What are some examples of queries?

  • Create Order
  • Get all reservations
  • Get customer order
  • Generate sales report
  • Payment processed
  • Find all drinks served to customer

Question: Commands, Events and Queries are what in Reactive Systems?

  • UI Components
  • Log Entries
  • Messages
  • Methods

Question: True or False: A bounded context API is comprised of Commands, Events and Queries.

  • True
  • False

Order Activities

Question: Commands represent a request to change the state of the domain. They can be rejected and are usually phrased as a request.

A best practice is to define Commands that are intent revealing. This means that you can see from looking at the Command exactly what it was trying to do. We should therefore favour Commands that are more specific, rather than more general.

Which of the following would be a better command to set the table number for an order?

  • Set Order Location (SetOrderLocation)
  • Set Table on Order (SetTableOnOrder)
  • Set Table (SetTable)
  • Update an Order (UpdateOrder)

Question: Assuming we have defined our Bounded Contexts to include: Orders, Payments, Menu, Customers, Reservations.

Which of the following represent Commands in the Orders Context?

Note: Make sure you select all of the correct options—there may be more than one!

  • Add an item to the Menu (AddItemToMenu)
  • Open an Order (OpenOrder)
  • Add an item to an Order (AddItemToOrder)
  • Collect Payment for Order (CollectPaymentForOrder)
  • Assign a Server to an Order (AssignServerToOrder)

Question: Events are often the result of a Command. Where a Command requests a change to the state of the domain, and Event records that change. They often exist in a 1 to 1 relationship with the Command. Because they record something that happened in the past, they are best written as past tense.

Like Commands, Events are best when they reveal intent.

For the command “Add an Item to an Order(AddItemToOrder)”, which of the following would be an appropriate corresponding Event?

  • Add an Item to an Order (AddItemToOrder)
  • An Item was Added to an Order (ItemAddedToOrder)
  • An Order was Updated (OrderUpdated)
  • An Item was Added (ItemAdded)
  • None of the above

Question: Assuming we have defined our Bounded Contexts to include: Orders, Payments, Menu, Customers, Reservations.

Which of the following represent Events in the Orders context?

Note: Make sure you select all of the correct options—there may be more than one!

  • Price changed on Menu Item (PriceChangedOnItem)
  • An Order was Closed (OrderClosed)
  • The Table was assigned to an Order (TableAssignedToOrder)
  • Customer Address was Updated (CustomerAddressUpdated)
  • An Order was Placed (OrderPlaced)

Question: Queries can be done to obtain information about the state of the domain. A query is issued in the form of a request for information, but it never changes the state of the domain. If you perform the same query twice, without any other actions, then you should always get the same response.

Which of the following does NOT represent a good query for our Orders Context?

  • Get or Update Order by ID (GetOrUpdateOrderByID)
  • Get Closed Orders (GetClosedOrders)
  • Get Order by Table (GetOrderByTable)
  • Get Open Orders (GetOpenOrders)

Domain Objects Review

Question: True or False: A Value Object is defined by its attributes and those attributes can be changed.

  • True
  • False

Question: True or False: Given that ChequeIdentifier has three attributes that make a compound identifier, and has no other mutable or immutable attributes, it is a Value Object.

  • True
  • False

Question: True or False: The above two Value Objects are considered to be equivalent.

  • True
  • False

Question: True or False: As a Value Object, we can change the ChequeIdentifier AccountNumber value, maintaining equivalency.

  • True
  • False

Question: Assuming the above ChequeIdentifier is a Value Object:

True or False: It is permissable to pass ChequeIdentifier as a message between Bounded Context A and Bounded Context B.

  • True
  • False

Question: True or False: An Entity requires a unique identity (for example, a key or id).

  • True
  • False

Question: True or False: The above BankAccount is an Entity.

  • True
  • False

Question: Why is the above BankAccount an Entity rather than a Value Object?

Note: Make sure you select all of the correct options—there may be more than one!

  • The above is not an Entity because Entities cannot have identities. Only Value Objects can have identities.
  • BankAccount’s attributes are mutable (for example, the AccountType value is changed). Value Object attributes cannot be changed.
  • Entities always have proper names like BankAccount.
  • BankAccount has an identifier of AccountID with a value of 123450. That means we can determine that bank account 123450 is the same bank account with an account type of Savings, after the type change, with an account type of Chequing.
  • The above is not an Entity because Entity attributes can’t be changed. BankAccount is a Value Object.

Question: True or False: The above two BankAccounts are the same BankAcount Entity.

  • True
  • False

Question: True or False: The above three BankAccounts are the same BankAccount Entity.

  • True
  • False

Question: The above is an Aggregate. What is the root Entity of this Aggregate?

  • BankAccount
  • None of above
  • Transaction
  • AccountID
  • AccountType

Question: True or False: In the above BankAccount Aggregate it is permissable to directly change the Transaction(s) or AccountType domain objects directly (bypassing the BankAccount).

  • True
  • False

Question: What is another name for root Entity?

  • Aggregate Head
  • None of above
  • Top Level Entity
  • Aggregate Root
  • Super Entity

Question: The following questions can help you determine an aggregate root(s) in a bounded context:

Note: Make sure you select all of the correct options—there may be more than one!

  • Can an entity be broken up into multiple entities?
  • Will a single transaction span multiple entities?
  • Does the entity have more then 10 attributes?
  • If you delete the entity, does it require you to delete other entities?
  • Does the entity state change more than 5 times in a single operation?
  • Is the entity involved in most operations in that bounded context?

Order Domain Objects

Question: To determine the objects in our Orders context, we need to be able to flesh out the details of our Commands, Events, and Queries. Once we have that information available, we can look to those details to find our Value Objects, Entities, and Aggregate Roots.

Which of the following would represent a good definition of the “AddItemToOrder” Command?

  • AddItemToOrder(orderId, itemId)
  • AddItemToOrder(orderId, quantity)
  • AddItemToOrder(locationId, itemId)
  • AddItemToOrder(orderId)
  • AddItemToOrder(tableId, itemId)

Question: Value objects are defined by the fields they contain. They are considered immutable because changing the value of any field results in a different object. They have no unique identity otherwise.

Which of the following represents a Value Object in the Orders context?

  • MenuItem(menuItemId, name, description, price, picture)
  • Discount(reason, amount)
  • CustomerAddress(streetNumber, apartmentNumber, streetName, city, stateOrProvince, country)
  • Order(orderId, orderItems, tableNumber, serverId)

Question: Entities are defined by a unique identity (either an Id, or a key). They are represented by their identifier, and a set of mutable fields. You can change the fields freely, without affecting the identity of the object. However, if you change the identifier in any way, then it becomes a different instance. In otherwords, two Entities with the same Id, are the same Entity, regardless of the values of their fields.

Which of the following represents an good Entity in the Orders context?

  • ServerId
  • Order(orderId, orderItems, tableNumber, serverId)
  • TableNumber
  • Customer(customerId, name, address, phoneNumber)

Question: An Aggregate Root is an Entity in a Bounded Context that aggregates other objects and is not aggregated by anything. I.E. it is at the root of the aggregation tree. Aggregate Roots are always Entities, never Value Objects.

Which of the following would be a candidate Aggregate Root for the Orders context?

  • OrderId
  • Order(orderId, orderItems, tableNumber, serverId) 
  • OrderItem(orderItemId, menuItemId, discount, specialInstructions)
  • Customer(customerId, name, address, phoneNumber)

Domain Abstractions Review

Question: When business logic doesn’t fit with an existing entity or value object we:

  • ignore it.
  • create and put it in a separate Bounded Context.
  • put it into an arbitrary entity.
  • encapsulate it in a Service.
  • None of above.

Question: If we need to put state in a Service we should probably:

  • find or create an entity or value object to contain the state.
  • make the fields final and immuatable.
  • always make the attibutes editable and mutatable.
  • ensure that one of the state attributes is an unique identifier.
  • None of above.

Question: True or False: A Service should have stateless business processing logic.

  • True
  • False

Question: True or False: You can’t have too many Services in a Bounded Context. Too few is a sign of weakly defined domain objects.

  • True
  • False

Question: True or False: A Service is a great place to put the logic of connecting to a database.

  • True
  • False

Question: We need to create an object that will be stored in a large file in our Bounded Context. We can use a:

  • Factory
  • Value Object
  • Entity
  • Service
  • None of above.

Question: True or False: A Factory is often an abstract interface defining the general create method or contract without the details coded. For example, a factory interface may have a createPayment empty method. It is combined with one or more concrete implementations that use the factory interface, each coding the createPayment method to different external systems accepting payments.

  • True
  • False

Question: If a Factory is a good place to put “create something from external system,” what is a good place to put “update something in external system?”

  • Repository
  • Entity
  • Mutator
  • Data Store
  • Updater

Question: What are some typical things done in a Repository?

Note: Make sure you select all of the correct options—there may be more than one!

  • Generate a new empty order for an inventory system.
  • Make a new transaction for a bank transfer.
  • Delete an existing airline reservation.
  • Modify an order after new line items have been added to it.
  • Create a new bank account for an existing customer.
  • Retrieve the details (such as address) for an existing customer

Question: True or False: Because Factories and Repositories are related, they are often combined containing all the create, read, update and delete functionality for a specific object.

  • True
  • False

Order Abstractions

Question: When a server creates an order in the system, they include some basic information such as the orderId, serverId, and tableNumber. This creates a record in the database for that order.

The database logic can be hidden behind which of the following abstractions?

  • OrderService
  • OrderRepository
  • OrderFactory

Question: The server will place an order once they have completed entering it into the system. Placing the order sends it to the kitchen where it will be printed using a ticket printer. The kitchen will remove the ticket and begin preparing the order.

The logic to print the ticket can be hidden behind which of the following domain abstractions?

  • OrderRepository
  • TicketFactory
  • KitchenNotificationService

Question: An existing order has already been created. A few additional people have arrived and it seems that the table originally assigned is no longer big enough. The customers at that table are being moved to a new table.

Moving the customers to a new table will require us to update the order in the database to reflect the change.

The database logic can be hidden behind which of the following domain abstractions?

  • OrderService
  • OrderFactory
  • OrderRepository

Hexagonal Architecture Review

Question: Hexagonal Architecture is an alternative to:

  • N-tiered Architecture
  • Gang of Four Design Patterns
  • Service Oriented Architure (SOA)
  • None of Above.

Question: N-tiered Architecture is comprised of layers usually laid out linearly: User Interface (View/Controller) -> Domain (Model) -> Database (Persistence). In contrast, Hexagonal Architecture resembles a kind of onion, with a center and subsequent layers wrapping the center. What is the Hexagonal Architecture center?

  • Domain
  • User Interface
  • Infrastructure
  • Persistence

Question: In Hexagonal Architecture, Ports are:

  • A preferred API for infrastructure components to interface with the domain.
  • A strategy for isolating bounded contexts so that they don’t bleed into each other.
  • Mechanisms that store business rules and work-flow steps.
  • A mechanism for docking containers in a clustered application.

Question: True or False: Ports are the most important part of an application built using Hexagonal Architiecture, therefore it exists at the center.

  • True
  • False

Question: In Hexagonal Architecture, the ports layer is called:

  • Infrastructure
  • Socket
  • API
  • Connector

Question: In Hexagonal Architecture, the position and role of the Infrastructure layer is to:

  • wrap the Domain layer, providing the correct method calls for the Domain.
  • wrap the API layer and adapt the incoming and outgoing call traffic to the API layer.
  • wrap the ports layer and provide clustering capabilities.
  • None of the above.

Question: True or False: Dependency direction always goes from Domain to API to Infrastructure. In other words, the Domain can have dependencies on (knowledge of) the API but the reverse is incorrect.

  • True
  • False

Question: The Domain should have knowlege of:

  • Infrastructure
  • Adapters
  • API
  • Databases
  • Ports
  • None of above.

Question: True or False: If the Domain has no knowledge of any other layers in the Hexagonal Architecture, it’s possible for it to be portable.

  • True
  • False

Reactive BBQ Hexagonal Architecture

Question: For each of the following, indicate whether they belong in the Domain or the Infrastructure of the Orders Context:

Order

  • Domain
  • Infrastructure

OrderDTO (A Data Transfer Object which is serialized into JSON to be exposed by a REST API)

  • Domain
  • Infrastructure

OrderDBO (A Object/Relational Mapping. Maps database tables to classes/fields.)

  • Domain
  • Infrastructure

OrderRepository

  • Domain
  • Infrastructure

CassandraOrderRepository

  • Domain
  • Infrastructure

CustomerReceiptView (Renders the order for printed receipts)

  • Domain
  • Infrastructure

OrderItemFactory

  • Domain
  • Infrastructure

Discount

  • Domain
  • Infrastructure

Final Exam

Question: Available Advertising has built a pipeline to consume data from a variety of advertising networks. This data is then syndicated to a number of destinations through their Syndication Service.

The Syndication Service performs a variety of functions, but all of those functions revolve around a Syndication Destination (a company that has a Syndication Agreement with Available Advertising). When a Syndication Destination terminates it’s agreement, they have to remove all data for that Destination.

In the Syndication Service, a Syndication Destination is known as a/an

Answer:

Question: Consistent Fitness has built a new microservice to process data from their wearable fitness trackers. That microservice needs to communicate with their old legacy system which currently contains all of the fitness data. They are concerned that the mess of the old legacy system might accidentally leak into their pure microservice. They want to make sure they are properly insulated from that mess.

They ensure their new microservice remains pure by using a/an

Answer:

Question: CQRS Auto is a automobile trading company formed in the 1980s by four partners (Christa, Quentin, Rhonda, and Samuel). They have since grown to be one of the largest auto traders in the nation.

Their website allows dealerships, and private users, to add automobiles to the website so they can be advertised and sold. Users can log in to the website to view vehicles available in their region. They can also compare those vehicles, and can even save comparisons to their personal profile to be viewed later.

Requesting a list of cars available in your region could be achieved using which type of Domain Activity?

Answer:

When a user saves a comparison to their personal profile, this fact can be recorded by which type of Domain Activity?

Answer:

Adding an automobile to the site could be acheived using which type of Domain Activity?

Answer:

Question: Saga Electronics is an online retailer focusing on Electronics.

A portion of their system is responsible for notifying customers when their order has been completed. This notification usually takes the form of an email, but sometimes it can happen through a text message or through another mechanism, depending on the users settings.

They want to create an abstraction to hide the details of this functionality. When their system sends a notification, they don’t want it to know what kind of delivery mechanism is being used. So although the sending of the notification is important in the domain, the details of how it gets sent are not.

What type of Domain abstraction would be used here?

Answer:

Question: Two Generals Video, a video streaming company, has been working to break their system into smaller, more manageable chunks. They have separated their large domain into smaller subdomains that have their own model and ubiquitous language.

The combination of the model and ubiquitous language is called a/an

Answer:

Question: Scalable Games, an online gaming company, has built a new game that they hope will support many millions of concurrent users.

In order to decouple themselves from their database choices, they have chosen to build their system using Hexagonal Architecture.

In their Player Service they have implemented a PlayerRepository which helps them retrieve Player objects. They have an implementation of this called the SQLPlayerRepository. They expose these players through the PlayerApi. These players are then rendered in the PlayerView.

Which layer in Hexagonal Architecture would contain the PlayerRepository?

Answer:

Which layer in Hexagonal Architecture would contain the SQLPlayerRepository?

Answer:

Which layer in Hexagonal Arcitecture would contain the PlayerApi?

Answer:

Which layer in Hexagonal Architecture would contain the PlayerView?

Answer:

Question: Spectrum Messages has a mobile application that provides instant messaging and chat features.

Their system sends instant messages between multiple users. Once a message has been sent, it is final. A user can’t go back and edit their message after the fact.

However, a user can manage the messages they have received. Messages are stored in a mailbox. Within that mailbox, a user can move messages around, sort them, categorize them etc. They can also delete the messages. So while the messages themselves can’t be changed, the way they appear in the mailbox can be.

In this system, a message would be what type of Domain Object?

Answer:

In this system, the mailbox would be what type of Domain Object?

Answer:

Conclusion:

We hope you know the correct answers to Reactive Architecture: Domain Driven Design. If Queslers helped you to find out the correct answers then make sure to bookmark our site for more Course Quiz Answers.

If the options are not the same then make sure to let us know by leaving it in the comments below.

Course Review:

In our experience, we suggest you enroll in this and gain some new skills from Professionals completely free and we assure you will be worth it.

This course is available on Cognitive Class for free, if you are stuck anywhere between quiz or graded assessment quiz, just visit Queslers to get all Quiz Answers and Coding Solutions.

More Courses Quiz Answers >>

Building Cloud Native and Multicloud Applications Quiz Answers

Accelerating Deep Learning with GPUs Quiz Answers

Blockchain Essentials Cognitive Class Quiz Answers

Deep Learning Fundamentals Cognitive Class Quiz Answers

Hadoop 101 Cognitive Class Answers

Machine Learning With R Cognitive Class Answers

Machine Learning with Python Cognitive Class Answers

Leave a Reply

Your email address will not be published. Required fields are marked *