🏠Home
Представим, что ты строишь дом, и у тебя есть целая команда специалистов, у каждого из которых своя задача. Вот как наши термины из программирования соответствуют роли каждого члена команды в строительстве дома:
Data
Здесь хранятся и управляются данные, из которых строится дом. Это как хранение материалов и данных о доме.
Data Model (Модель данных):
Это чертеж или модель материалов для дома. Например, чертежи окон, дверей, формы стен и т.д. Она описывает, как должны выглядеть все части дома.
import '../domain/entities/product_entity.dart';
class ProductModel extends Product {
ProductModel({
required super.name,
required super.price,
required super.category,
required super.description,
super.isLiked,
super.quantity = 1,
});
// fromJson и toJson для работы с данными
factory ProductModel.fromJson(Map<String, dynamic> json) {
return ProductModel(
name: json['name'],
price: json['price'],
category: json['category'],
description: json['description'],
isLiked: json['isLiked'] ?? false,
quantity: json['quantity'] ?? 1,
);
}
Map<String, dynamic> toJson() {
return {
'name': name,
'price': price,
'category': category,
'description': description,
'isLiked': isLiked,
'quantity': quantity,
};
}
}
Domain
Это уровень, где определяется, что и как должно быть построено.
Entities (Сущности):
Это основные объекты, описывающие дом. Например, дом как объект может иметь комнаты, стены, окна. Это набор качеств, которые обязательно должны быть у нашего дома (наше представление о доме).
class Product {
final String name;
final double price;
final String category;
final String description;
bool isLiked;
int quantity;
Product({
required this.name,
required this.price,
required this.category,
required this.description,
this.isLiked = false,
this.quantity = 1,
});
}
Presentation Layer (Презентация, то, что видит клиент)
Это уровень, где мы показываем готовый дом клиенту.
Screens (Экраны):
Это комнаты в доме, в которые можно войти и посмотреть, как все выглядит. Например, гостиная, спальня, кухня — каждая из которых показывает конечный результат на экране.
Last updated