About the Design Patterns category

Learn about and share solutions to common design problems. Get examples of how to use Holochain’s tools in your application.

Contribution guidelines

  • Read the general Learning Library contribution guidelines.
  • The traditional hallmark of a pattern is that it keeps coming up in independent designs. Holochain is still pretty young, so we’re going to relax that expectation for now. Let’s make this a space for working out the best solutions, and then test whether they’re worthy.
  • All the patterns together should connect to create a pattern language. Refer to other patterns that support your pattern, build on it, or can be used as alternatives. Use inline links!
    • Protip: Here’s how to quickly create an inline link to another forum topic:
      1. Press Ctrl+Alt+F to search for it by title.
      2. Use the down arrow key to select the topic you want.
      3. Press A to insert the topic’s link right into the post you’re writing!
  • Use this general template:
    1. Problem: State the need clearly.
    2. Solution
      1. Summarize the solution.
      2. Implementation: Explain the necessary steps to create the solution in an app. Use human language or pseudocode, not Rust code.
      3. Warnings: Talk about situations where this pattern might be an anti-pattern or create problems of its own.
      4. Related patterns: Point to alternatives or patterns that build on this one.
  • Your topic will automatically be posted as a wiki, which means that other people can edit it. Please keep it that way.