Decoupling - sgml/signature GitHub Wiki

I typically use a MVC design so that I can design the view, link all of the triggers to the controller, and work on the controller/model without ever having to touch the view again. Is there a way to simulate this in web design?

Use event attributes to simulate this:

<div class="view" onclick="controller('click')" onblur="controller('blur')" onload="controller('load')" onunload="controller('unload')" onerror="controller('error')">
</div>

Is there a way just to reduce the coupling feeling?

Use different languages for each level, such as:

  • XML for the Model, XSLT for the View, CSS for the Controller
  • JSON for the Model, JSON.parse for the View, AJAX for the Controller
  • CSV for the Model, FTP for the View, Socket for the Controller
  • Logfile for the Model, SVG for the View, Perl for the Controller
  • SQLite for the Model, CSV for the View, Spreadsheet for the Controller
  • hTurtle for the Model, GRDDL for the View, jQuery for the Controller
  • Gateway for the Model, PubSub for the View, Proxy for the Controller
  • Metadata for the Model, Metaobjects for the View, Metacharacters for the Controller
  • Dictionary for the Model, Hashed Array Tree for the View, Dispatch Table for the Controller
  • Cache for the Model, Template for the View, Filters for the Controller
  • URLs for the Model, URITemplates for the View, URITemplate Parser for the Controller
  • Recordset for the Model, Heredoc for the View, Higher Order Functions for the Controller
  • indexedDB for the Model, HTML for the View, JSON.stringify for the Controller
  • HTML for the Model, CSS for the View, CSSOM for the Controller
  • data:URIs for the Model, HTML for the View, CSS for the Controller
  • XML for the Model, SVG for the View, SMIL Animation for the Controller
  • URLs for the Model, Request Body for the View, Request Headers for the Controller

Dublin Core

<record
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:dcterms="http://purl.org/dc/terms/"
    xmlns:ex="http://example.org/terms/">

    <!-- MARC21: 245 10$a -->
    <dc:title>One Time: The Story of a South Central Los Angeles Police Officer</dc:title>

    <!-- MARC21: 100 1$a -->
    <dc:creator>Bentley, Brian S.</dc:creator>

    <!-- MARC21: 260 $b -->
    <dc:publisher>Cool Jack Publishing</dc:publisher>

    <!-- MARC21: 260 $c -->
    <dc:date>1997</dc:date>

    <!-- MARC21: 260 $a -->
    <dc:coverage>United States</dc:coverage>

    <!-- MARC21: 300 -->
    <dc:format>234 pages ; 23 cm</dc:format>

    <!-- MARC21: 520 -->
    <dc:description>A firsthand account of policing in South Central Los Angeles, detailing the author's transformation and experiences on the job.</dc:description>

    <!-- MARC21: 650 $a -->
    <dc:subject>Police — California — Los Angeles — Biography</dc:subject>

    <!-- MARC21: 650 $a -->
    <dc:subject>African American police — Biography</dc:subject>

    <!-- MARC21: 650 $a -->
    <dc:subject>Law enforcement — Social aspects</dc:subject>

    <!-- MARC21: 020 $a -->
    <dc:identifier>ISBN 1890632007</dc:identifier>

    <!-- MARC21: 910 (rights note) -->
    <dc:rights>All rights reserved.</dc:rights>

    <!-- CUSTOM FIELD (no MARC21 equivalent) -->
    <!-- ex:rarity = rarity score 0–100 -->
    <ex:rarity>18</ex:rarity>

</record>

References

  1. https://medium.com/of-all-things-tech-progress/understanding-mvc-architecture-with-react-6cd38e91fefd
  2. http://react.tips/how-to-use-react-component-lifecycle-methods/
  3. https://medium.freecodecamp.org/you-might-not-need-to-transpile-your-javascript-4d5e0a438ca
  4. https://reactjs.org/docs/integrating-with-other-libraries.html
  5. https://hackernoon.com/one-major-reason-vuejs-gt-react-4edcb400e383
  6. https://medium.com/engineering-housing/javascript-memory-profiling-for-backbone-and-react-5bffd5d6e6f
  7. http://2ality.com/2016/04/unhandled-rejections.html
  8. http://adripofjavascript.com/blog/drips/using-dispatch-tables-to-avoid-conditionals-in-javascript.html
  9. http://raganwald.com/2014/06/23/multiple-dispatch.html
⚠️ **GitHub.com Fallback** ⚠️