mirror of
https://github.com/pese-git/cherrypick.git
synced 2026-01-25 14:13:22 +00:00
feat(core): refactor root scope API, improve logger injection, helpers, and tests
- BREAKING CHANGE: introduce CherryPick.openRootScope - add logger injection to Scope - refactor helper and scope logic - improve internal logging - enhance and update tests - add log_format.dart module
This commit is contained in:
@@ -47,7 +47,7 @@ class FeatureModule extends Module {
|
||||
|
||||
Future<void> main() async {
|
||||
try {
|
||||
final scope = openRootScope().installModules([AppModule()]);
|
||||
final scope = CherryPick.openRootScope().installModules([AppModule()]);
|
||||
|
||||
final subScope = scope
|
||||
.openSubScope("featureScope")
|
||||
|
||||
@@ -126,7 +126,7 @@ void main() {
|
||||
// Example 1: Demonstrate circular dependency
|
||||
print('1. Attempt to create a scope with circular dependencies:');
|
||||
try {
|
||||
final scope = Scope(null);
|
||||
final scope = CherryPick.openRootScope();
|
||||
scope.enableCycleDetection(); // Включаем обнаружение циклических зависимостей
|
||||
|
||||
scope.installModules([
|
||||
@@ -144,7 +144,7 @@ void main() {
|
||||
// Example 2: Without circular dependency detection (dangerous!)
|
||||
print('2. Same code without circular dependency detection:');
|
||||
try {
|
||||
final scope = Scope(null);
|
||||
final scope = CherryPick.openRootScope();
|
||||
// НЕ включаем обнаружение циклических зависимостей
|
||||
|
||||
scope.installModules([
|
||||
@@ -166,7 +166,7 @@ void main() {
|
||||
// Example 3: Correct architecture without circular dependencies
|
||||
print('3. Correct architecture without circular dependencies:');
|
||||
try {
|
||||
final scope = Scope(null);
|
||||
final scope = CherryPick.openRootScope();
|
||||
scope.enableCycleDetection(); // Включаем для безопасности
|
||||
|
||||
scope.installModules([
|
||||
|
||||
Reference in New Issue
Block a user