Skip to content

Repository files navigation

advance-dart

Dart CI

Getting Started

Browse the folders for code samples and documentation. Each section contains runnable examples and explanations.

Running Tests

This project uses custom test directories. To run tests, use:

# Run all unit tests
dart test tests/unit

# Run all integration tests
dart test tests/integration

# Run all tests
dart test tests/unit tests/integration

You can also run individual pattern/example files with:

dart run patterns/strategy.dart
dart run examples/async/future_example.dart

Community & Style Guides

GitHub Repository

https://github.com/itsmelaxman/advance-dart

A curated collection of advanced Dart language features, design patterns, performance tips, and best practices. This repository is designed for Dart developers who want to deepen their understanding and master advanced concepts in Dart.

Features

  • Advanced language features (mixins, extensions, generics, async, etc.)
  • Common design patterns implemented in Dart
  • Performance optimization tips and benchmarks
  • Package development examples
  • Testing and debugging samples
  • FFI and interoperability guides
  • Well-documented code and tutorials

Getting Started

Browse the folders for code samples and documentation. Each section contains runnable examples and explanations.

Most Used & Standard Best Practice Patterns

This repository includes implementations and examples of the most widely used and recommended patterns in Dart and software engineering:

  1. Singleton – Ensure a class has only one instance and provide a global point of access.
  2. Factory – Create objects without specifying the exact class of object that will be created.
  3. Observer – Define a one-to-many dependency so that when one object changes state, all its dependents are notified.
  4. Strategy – Define a family of algorithms, encapsulate each one, and make them interchangeable.
  5. Decorator – Attach additional responsibilities to an object dynamically.
  6. Command – Encapsulate a request as an object, thereby letting you parameterize clients with different requests.
  7. Adapter – Allow the interface of an existing class to be used as another interface.

You’ll find code samples and explanations for these patterns in the patterns/ folder.

Other Resources

  • See docs/advanced_topics.md for in-depth explanations and advanced Dart features.
  • Explore the examples/ folder for practical code samples.
  • Performance tips and benchmarks are in the performance/ folder.

Contributing

Contributions are welcome! Please see CONTRIBUTING.md for guidelines.

License

See LICENSE for details.

About

A curated collection of advanced Dart language features, design patterns, performance tips, and best practices for experienced Dart developers.

Topics

Resources

Code of conduct

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages