🏠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