We now have only one method that uses our HttpHelper class. As the application grows, we may need to call HttpHelper several times in different parts of the app, and it would be a waste of resources creating many instances of the class each time we need to use a method in the class.
One way to avoid this is by using the factory constructor and the singleton pattern: this makes sure you only instantiate your class once. It is useful whenever only one object is needed in your app and when you need to access a resource that you want to share in the entire app.
There are several patterns in Dart and Flutter that allow you to share services and business logic in your app, and the singleton pattern is only one of those. Other choices include Dependency injection, Inherited Widgets, and Provider and Service Locators. There is an interesting article on the different choices that are available in Flutter at http://bit.ly/flutter_DI.
In the httphelper.dart file, add the following...