OOs Affordances
Merriam-webster
"the qualities or properties of an object that define its possible uses or make clear how it can or should be used."
Wikipedia
"a potential action enabled by an object."
This view emphasizes object autonomy and the principle of encapsulation, where objects manage their own state and expose behaviors relevant to that state. Critics of the affordance view might argue that it can lead to a less intuitive understanding of the object's role and responsibilities, potentially complicating the design by blurring the lines between the object's capabilities and the actions performed on it.
Coupling can be loosened by separating the place where objects get created from the place where they get used.
Co-Locate Data and Behavior by Default -- cohesive behavior
object could do vs what you can do with an object
behavior related to the data
behavior cohesive with the concept of the object and method without inappropriate coupling
is an announcement cohesive with broadcast?
types of objects,
Objects representing information & behavior
Objects representing workflow
Objects involved in tying other objects together (aggregations)
Object hierarchy is a conceptual hierarchy with appropriate abstractions for each level of that hierarchy
A method is a cohesive and coupling appropriate action to be taken on that object
formatting is fine
math is fine
What potential problems does that create and or change?
object could do vs what you can do with an object
Main cost in software is change... how to make change easy
An announcement is the thing to be broadcasted
broadcasting requires a subsystem of infrastructure
Coupling is even the conversation to have with models