Clean Architecture: Comprehensive Beginners Guide to Learn and Understand Clean Architecture by Wallace Connor

Clean Architecture: Comprehensive Beginners Guide to Learn and Understand Clean Architecture by Wallace Connor

Author:Wallace, Connor [Wallace, Connor]
Language: eng
Format: epub
Published: 2020-06-05T16:00:00+00:00


Chapter Eight: Drawing Lines

This chapter examines the first process of designing a clean architecture. We will be using the rules and all the explanation so far in creating our software. The chapter explains the following topics:

· Drawing lines

· Input and output of a system

· Plugin Architecture

· Boundary anatomy

Software architecture focuses more on drawing lines. In programming, these lines are referred to as boundaries. The boundaries are what the architect use in separating one software element from the other. They are also used to restrain a component of software elements from depending on other components. Boundaries are used to separate components dependencies. Usually, the architect starts his design by drawing out the lines that will be used in the system. However, there is no rule stating that designs should be started in this format. Lines can also be created at the end of the system structure. The boundaries drawn at the beginning of the software are used for deferring decisions and for keeping these decisions from affecting the essence of the system.

In the previous chapter, it was established that the goal of software architecture is to ensure that the human resources needed to keep a system is minimized to the barest minimum. The architect will also ensure that the software system is flexible enough for changes. High cost of maintenance usually occurs when systems are coupled with premature decisions. Premature decisions are decisions that have nothing to do with the business requirements of the system; examples are decisions of utility library, framework, web server, database, and so on. The validity of software is determined if decisions like the above mentioned are made deferrable.

How To Determine The Lines To Draw And When To Draw The Lines

As already explained above, lines are to be drawn on both the things that matter to the effectiveness of the system and things that don't. For instance, the Graphic User Interface does not matter to the system's business. Hence lines should be drawn on it, the database does not also matter to the GUI and the business rules, but the line should also be drawn on it.

Most often than not, we have been taught that the database is very important to the business rule, but this is misguided information. As explained in the previous chapter, the business only make use of the database indirectly. This means that the database does not need to know about the query language or the schema and other information contained in the database. All the business rule makes use of are the sets of information used to save and fetch data. As a result, we put the database behind the business rule in our system.

Where Do We Fix our Boundary Line ?

The boundary line is usually below the database, just across the inheritance relationship. This diagram below captured this.



Download



Copyright Disclaimer:
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.