Chapter 3. Structuring Code with Classes and Libraries
In this chapter we will look at the object-oriented nature of Dart. If you have prior knowledge of an OO language, most of this chapter will feel familiar. Nonetheless, coding classes in Dart is more succinct when introducing some nice new features such as factory constructors and generalizing the use of interfaces. If you come from the JavaScript world, you will start to realize that classes can really structure your application.
Data mostly comes in collections. Dart has some neat classes to work with collections, and they can be used for any type of collections. That's why they are called generic. As soon as you get a few code files in your project, structuring them by making libraries becomes essential for code maintainability. Also, your code will probably use existing libraries written by other developers; to make it easy, Dart has its own package manager called pub. Automating the testing of code on a functional level is done with a built-in unit test library.
We will look at the following topics:
- Using classes and objects
- Collection types and generic classes
- Structuring your code using libraries
- Managing library dependencies with pub
- Unit testing in Dart
We will wrap it all up in a small but useful project to calculate word frequencies in an extract of text.