Another Word For It Patrick Durusau on Topic Maps and Semantic Diversity

November 5, 2013

Design Patterns in Dynamic Programming

Filed under: Design Patterns,Programming — Patrick Durusau @ 4:27 pm

Design Patterns in Dynamic Programming by Peter Norvig.

From the slides (dated May 5, 1996):

What Are Design Patterns?

  • Descriptions of what experienced designers know (that isn’t written down in the Language Manual)
  • Hints/reminders for choosing classes and methods
  • Higher-order abstractions for program organization
  • To discuss, weigh and record design tradeoffs
  • To avoid limitations of implementation language

(Design Strategies, on the other hand, are what guide you to certain patterns, and certain implementations. They are more like proverbs and like templates.)

Seventy-six slides that are packed with prose, each and every one.

Great for reading separate from the presentation.

Occurs to me that topic maps should be mature enough for a collection of patterns.

Patterns for modeling relationships. Patterns for modeling subject identity.

What patterns would you suggest?

4 Comments

  1. Kal Ahmed has written on this subject, with some examples:
    http://www.techquila.com/tmsinia.html

    There is also a design pattern movement in the Semantic Web community:
    http://ontologydesignpatterns.org

    Comment by marijane — November 5, 2013 @ 11:40 pm

  2. There are a set of common (standard?) programming design patterns which were originally conceived for imperative programming languages. Peter Norvig shows how these are implemented in a dynamic programming language, and, in the process, shows that many of them are much simpler in dynamic languages. In much the same way, I think Topic Maps could benefit from a similar comparison by one or more of the experts who have applied Topic Maps to multiple problems. Given that Relational Databases, RDF, and NOSQL databases are the dominant form for data modeling, there must be a common (standard?) set of design patterns for data modeling that could be used as a starting point. Something like this maybe?
    http://patterns.dataincubator.org/book/

    Comment by clemp — November 6, 2013 @ 7:32 am

  3. Thanks!

    What patterns do you think need to be added to Kal’s list?

    Comment by Patrick Durusau — November 12, 2013 @ 11:41 am

  4. @clemp

    There is no shortage of books on data modeling/design!

    But take David Hay’s “Data Model Patterns” as an example.

    You won’t find identifier or identity or any similar term in the index. The closest thing is under “entity” and that is “name.” And we all know the dangers and hazards of “names” for identification purposes.

    Data modeling has an assumption of identification. That is you know what is meant by both the modeling technique and its artifacts, as well as knowing what is mean by the names and relationships being modeled. No further effort is spent to “clue you in.”

    So long as you are within an enterprise that works for a time. Doesn’t work so well once other data models from new acquisitions clash with yours or the author’s have moved onto other jobs/enterprises or simple semantic drift over time.

    Subject identity would make data models more robust over time, but Hay was writing a book on conventional data modeling, not robust and mergeable data models.

    Comment by Patrick Durusau — November 12, 2013 @ 11:57 am

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.

Powered by WordPress