The Two Abstractions of System Design: Hide or Reduce

(muratbuffalo.blogspot.com)

31 points | by ubolonton_ 2 days ago

2 comments

  • BoiledCabbage 1 day ago
    I've generally heard the two concepts discussed as abstraction vs generalization.

    Abstraction hides unnecessary detail. Generalization finds/surfaces commonality among items.

    > oop - What's the difference between abstraction and generalization? - Stack Overflow - https://stackoverflow.com/questions/19291776/whats-the-diffe...

    Creating a procedure/method is a form of abstraction. Allowing it to accept parameters is a form of generalization (by allowing it to be used for a number of similar inputs).

    Simply creating an integer data type is a very simple form of generalization. Allowing operations to work against generically against any integer.

    • ctenb 11 minutes ago
      I'm not sure that your description of generalization coincides with the idea of modeling abstraction from TFA. Modeling abstraction is "about identifying what should leak and leveraging it". Generalization is about making something cover more cases. The technique to achieve these things can overlap of course, but the intention/goal is different.
  • 0skird 48 minutes ago
    [dead]