Test-driven development (TDD) is a software development process that relies on the repetition of a very short development cycle:
- first the developer writes an (initially failing) automated test case that defines a desired improvement or new function
- then produces the minimum amount of code to pass that test
In software engineering, the adapter pattern is a software design pattern (also known as wrapper, an alternative naming shared with the decorator pattern) that allows the interface of an existing class to be used as another interface. It is often used to make existing classes work with others without modifying their source code.
The authors claim the following as advantages of interfaces over implementation:
- clients remain unaware of the specific types of objects they use, as long as the object adheres to the interface
- clients remain unaware of the classes that implement these objects; clients only know about the abstract class(es) defining the interface
Use of an interface also leads to dynamic binding and polymorphism, which are central features of object-oriented programming.
![7_layer.png](https://gist.github.com/cardasac/a609ad21a99497e40bb5a585083af2c0/raw/d17e2a5b8475c7f89a17dff22ac923dbc13ed215/7_layer.png)
All the links to the csv to practice using in2csv
library are located in the url_list.txt
.
For simplicity please use the get_files.sh
script which downloads the required files for you.
Totally inspired by the course on Datacamp Data Processing in Shell.