(+) Application Layer - environment
Environment μ νμμ±
κ°μ μ’ λ₯μ΄μ§λ§ λΉλ νκ²½μ λ°λΌμ κ°μ΄ λ¬λΌμ ΈμΌνλ κ²λ€μ΄ μλ€. κ°μ₯ ν° μλ‘ κ°λ° μλ², μ΄μ μλ²μ μλν¬μΈνΈκ° μλ€. νμ§λ§ μ΄λ₯Ό μν΄μ νλ‘λμ μ½λμ κ°λ° μ½λλ₯Ό ꡬλΆν΄μ κ°λ°νλ κ²μ μλͺ»λ κ°λ°μ΄λ€. λͺ¨λ ν μ€νΈμ κ°λ°μ νλ‘λμ μ κΈ°μ€μΌλ‘ μλνκ³ κ΅¬νλμ΄μΌνλ€.
λ°λΌμ μ½λ λ΄μμ νλ‘λμ μ½λμ κ°λ° μ½λκ° κ΅¬λΆλμ§ μκ³ μΌκ΄λκ² νλ‘λμ μ½λλ‘ κ΅¬νλλλ‘ νλ λΉλ νκ²½μ λ°λΌ λ¬λΌμ ΈμΌν κ°λ€μ λ€λ₯΄κ² μ¬μ© λλλ‘ ν΄μΌνλ€. μ΄λ₯Ό μν΄μ νκ²½μ λν΄μλ§ λΆκΈ° μ²λ¦¬λ₯Ό νκ³ κ·Έ μΈμλ λͺ¨λ λμΌν νλ‘λμ μ½λμμ νκ²½ λ³λ‘ λ€λ₯Έ κ°μ κ°κ³ λμνλλ‘ μ²λ¦¬ν΄μΌνλλ° μ΄λ₯Ό Environment κ° μ²λ¦¬νλλ‘ νλ€.
VM μ΅μ μ νμ©ν΄λ λ κ² κ°μλλ° μΌλ¨ μ± κΈ°λμ μ§μ μ§μ μ μμ λ€λ₯΄κ² μ€μ νμ¬ μ½λ λ΄μ enum μΌλ‘ λ€λ₯΄κ² μ²λ¦¬ν΄λλ λ°©μμ μ·¨νλ€.
ν¨ν€μ§ κ΅¬μ± κ΄μ μμ λ°λΌλ³Έ Environment

Environment ꡬν
development.dart(production.dart λ λμΌν λ°©μ)
void main() {
final Environment environment =
Environment.newInstance(EnvironmentType.development);
environment.run();
}environment.dart
import 'package:app_frame_sample/app.dart';
import 'package:flutter/cupertino.dart';
import '../application.dart';
class Environment {
static Environment? _instance;
final EnvironmentType environmentType;
const Environment._internal(this.environmentType);
static bool get _isDevelopment {
return _instance!.environmentType == EnvironmentType.development;
}
static bool get _isProduction {
return _instance!.environmentType == EnvironmentType.production;
}
static String get baseUrl {
if (_isDevelopment) {
return 'http://localhost:8080';
}
if (_isProduction) {
return 'http://localhost:8090';
}
throw UnsupportedError(ErrorMessage.notFoundEnvironmentType);
}
factory Environment.newInstance(EnvironmentType environmentType) {
_instance ??= Environment._internal(environmentType);
return _instance!;
}
void run() async {
WidgetsFlutterBinding.ensureInitialized();
await Injector.prepareDependencies();
runApp(const Application());
}
}Last updated