• Kogasa
    link
    3
    edit-2
    11 months ago

    Fluent polymorphism via duck typing. It’s useful when you’re treating objects as a collection of properties, and therefore it’s not their type that matters but which properties they have. Types can still be used to label common collections of properties but it’s less painful to talk about objects that are “like an X but with/without certain properties,” or where some properties themselves have a different shape, etc. This is applicable to web APIs, not just because of JSON, but because it allows to define both very rigid and very flexible schemas without much overhead or repetition. See the OpenAPI specification.