a guest Dec 6th, 2019 99 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. The details are those things that are necessary to enable humans, other systems, and
  2. programmers to communicate with the policy, but that do not impact the behavior of
  3. the policy at all. They include IO devices, databases, web systems, servers,
  4. frameworks, communication protocols, and so forth.
  5. The goal of the architect is to create a shape for the system that recognizes policy as
  6. the most essential element of the system while making the details irrelevant to that
  7. policy. This allows decisions about those details to be delayed and deferred.
  8. For example:
  10. • It is not necessary to choose a database system in the early days of development,
  11. because the high-level policy should not care which kind of database will be used.
  12. Indeed, if the architect is careful, the high-level policy will not care if the database
  13. is relational, distributed, hierarchical, or just plain flat files.
  15. • It is not necessary to choose a web server early in development, because the high-
  16. level policy should not know that it is being delivered over the web. If the high-
  17. level policy is unaware of HTML, AJAX, JSP, JSF, or any of the rest of the
  19. alphabet soup of web development, then you don’t need to decide which web
  20. system to use until much later in the project. Indeed, you don’t even have to decide
  21. if the system will be delivered over the web.
  22. • It is not necessary to adopt REST early in development, because the high-level
  23. policy should be agnostic about the interface to the outside world. Nor is it
  24. necessary to adopt a micro-services framework, or a SOA framework. Again, the
  25. high-level policy should not care about these things.
  26. • It is not necessary to adopt a dependency injection framework early in
  27. development, because the high-level policy should not care how dependencies are
  28. resolved.
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand