Files
exercises-in-programming-style/12-letterbox/README.md
2023-04-30 04:44:18 +00:00

41 lines
1.2 KiB
Markdown

Style #12
==============================
Constraints:
- The larger problem is decomposed into 'things' that make sense for
the problem domain
- Each 'thing' is a capsule of data that exposes one single procedure,
namely the ability to receive and dispatch messages that are sent to
it
- Message dispatch can result in sending the message to another capsule
Possible names:
- Letterbox
- Messaging style
- Objects
- Actors
## Style #12.2
Constraints:
- For each 'thing' class, let's bring the `info` methods from the Things style (#11)
- In the Things style, we used inheritance via a Python call to `super` to call a shared function from a base class
- We should apply this concept of code-reuse, but make sure to do so without using inheritance
- In typed languages, using delegates (or `Callable` in Python) is a recommended solution
Note:
A [delegate](https://learn.microsoft.com/en-us/dotnet/csharp/programming-guide/delegates/using-delegates?source=recommendations) is a type that safely encapsulates a method, similar to a function pointer in C and C++. Unlike C function pointers, delegates are object-oriented, type safe, and secure
Possible names:
- Delegation