Adding content to 106-design-principles

pull/3389/head
syedmouaazfarrukh 2 years ago
parent e0618537c1
commit aafce97040
  1. 17
      src/roadmaps/flutter/content/106-design-principles/100-dependency-injection.md
  2. 21
      src/roadmaps/flutter/content/106-design-principles/101-design-patterns.md
  3. 9
      src/roadmaps/flutter/content/106-design-principles/102-solid-principles.md
  4. 9
      src/roadmaps/flutter/content/106-design-principles/103-oop.md
  5. 18
      src/roadmaps/flutter/content/106-design-principles/index.md

@ -1 +1,16 @@
# Dependency injection
# Dependency Injection
Dependency Injection is a design pattern that allows objects to receive their dependencies from external sources instead of creating them internally. In Flutter, this can be useful for managing complex state, reducing coupling between components, and making testing easier.
Here's how to use dependency injection in Flutter:
- Create a dependency
- Create a provider
- Use the provider in your widget tree
- Access the dependency in a widget
Learn more from the following links:
- [Dependency Injection In Flutter](https://medium.com/flutter-community/dependency-injection-in-flutter-f19fb66a0740)
- [Flutter Dependency Injection For Beginners](https://www.youtube.com/watch?v=vBT-FhgMaWM)

@ -1 +1,20 @@
# Design patterns
# Design Patterns
Design patterns are solutions to common problems in software development that can be used to improve the quality and maintainability of your code. Here are some popular design patterns that are commonly used in Flutter development:
- Model-View-Controller (MVC)
- Model-View-ViewModel (MVVM)
- Provider Pattern
- Bloc Pattern
- Singleton Pattern
- Factory Pattern
- Builder Pattern
- Composite Pattern
When choosing a design pattern for your Flutter application, consider your specific requirements and use cases. You may also want to consider the trade-offs between different patterns, such as maintainability, scalability, and ease of use.
Learn more from the following links:
- [Flutter - Design](https://dart.dev/guides/language/effective-dart/design)
- [Design Patterns Explained in 10 Minutes](https://www.youtube.com/watch?v=tv-_1er1mWI)
- [Cookbook Designs in Flutter](https://docs.flutter.dev/cookbook/design)

@ -1 +1,8 @@
# Solid principles
# SOLID Principles
Learn more from the following links:
- [S.O.L.I.D Principles](https://www.youtube.com/watch?v=fvNTJang7l4)
- [Overview of S.O.L.I.D Principles In Dart](https://medium.flutterdevs.com/s-o-l-i-d-principles-in-dart-e6c0c8d1f8f1)

@ -1 +1,8 @@
# Oop
# OOP
Object-oriented programming (OOP) is a programming paradigm that is based on the concept of "objects," which are instances of a class. In OOP, a class is a blueprint for creating objects, which have both data (attributes) and behavior (methods). The main idea behind OOP is to model real-world objects and their interactions, making it well-suited for creating complex and large-scale software systems.
Learn more from the following links:
- [Discover Object Oriented Programming](https://blog.hubspot.com/website/object-oriented-programming)
- [Software Development Tutorial - What is object-oriented language?s](https://www.youtube.com/watch?app=desktop&v=SS-9y0H3Si8)

@ -1 +1,17 @@
# Design principles
# Design Principles
Here are some common design principles that are often followed in Flutter development:
- Material Design: A design system developed by Google that provides a consistent look and feel across all platforms and devices.
- Responsiveness: Designing the user interface to work seamlessly on different screen sizes and aspect ratios.
- User-centered Design: Designing the application with the user's needs and goals in mind.
- Simplicity: Designing the user interface to be simple and intuitive, minimizing the number of steps needed to complete a task.
- Consistency: Maintaining a consistent look and feel throughout the application, using consistent colors, typography, and layout.
- Accessibility: Making the application usable by people with disabilities, including screen reader support, keyboard accessibility, and high-contrast mode.
- Performance: Designing the application to be fast and responsive, even on low-end devices.
By following these design principles, you can create a user-friendly and visually appealing application that provides a great user experience.
Learn more from the following:
- [Design - Principles](https://docs.flutter.dev/cookbook/design)
Loading…
Cancel
Save