Three-Tier Architecture


Presentation Tier

  • Use JWT, not cookies
  • Use libraries, not frameworks
  • Use functional programming where appropriate
  • Use CommonJS for JS modules
  • Use static pages, not MVC
  • No class-based OOP
  • Use JSON as data transport


Application Tier

  • No UML. Visualize graph of interfaces
  • Break down logic into units that focus on doing one thing well
  • Use interface, not dependency injection


Storage Tier

  • Use SQL, not ORM
  • Put logic at application tier (no stored procs, triggers, UDFs in RDBMS)
  • No three-valued logic. Use sensible default instead of “null”
  • Enforce foreign key constraints at the application tier
  • Do not abuse relational model. Use non-relational model where appropriate

Subjectivity aside, leave a reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s