Как организовать ветки чтобы можно было отследить разработку отдельных частей приложения?

Как организовать ветки чтобы можно было отследить разработку отдельных частей приложения?

Чтобы можно было разрабатывать отдельные блоки и выдавать заказчику поэтапно приложение с ограниченным функционалом.
Или ограничение функционала реализуется не через ветки?

Как сделать чтобы можно было отследить работу по отдельному блоку проекта?
Типа ветка в которой можно отследить: Book.cs -> BooksService.cs -> BooksRepository.cs
Или такое не практикуется?


Пример

Ссылки между проектами:

  • BookStore.App;
    • BookStore.DAL;
    • BookStore.Model;
  • BookStore.AppManager;
    • BookStore.DAL;
    • BookStore.Model;
  • BookStore.DAL;
  • BookStore.Model;

Как я вижу ветки - Схема-1.
Схема-1:
- master
- DevelopBookStoreApp
- DevelopAppManager
- BookStoreModel
- BookStoreDAL

Описание работы с ветками:
- Создаём необходимые сущности в ветке BookStoreModel;
- Вливаем BookStoreModel в BookStoreDAL;
- Создаём необходимый функционал в BookStoreDAL;
- Вливаем BookStoreDAL в DevelopBookStoreApp (или в DevelopAppManager);

Или так?
Схема-2:
- master;
- DevelopBookStoreApp;
- DevelopAppManager;
- BookStoreDALModel;
- Этап-1;
- Этап-2;
- Этап-3;


Update-1

Схема-3 веток:
- master;
- DevelopBookStoreApp;
- DevelopAppManager;
- BookStoreModel;
- BookStoreDALBook;
- BookStoreDALCategory;
- BookStoreDALSeller;
- BookStoreDALDeal;
- BookStoreDALBuyer;
- BookStoreDAL;

Последовательность действий:
- ветка BookStoreModel. Добавить необходимую сущность(Book, Category, Seller, Deal, Buyer);
- перейти в ветку BookStoreDALBook (или BookStoreDALCategory, или Seller, Deal, Buyer);
- влить ветку BookStoreModel в ветку BookStoreDALBook ;
- в ветке BookStoreDALBook создать операции CRUD. Протестировать;
- перейти в ветку BookStoreDAL;
- влить ветку BookStoreDALBook в ветку BookStoreDAL;
- влить ветку BookStoreDAL в ветку DevelopBookStoreApp;

Update-1. Конец


Проект для примера.

Допустим имеется приложение: BookStore.App
Сущности:
- Book - Книга;
- Category - Категория;
- Seller - Продавец;
- Deal - Сделка;
- Buyer - Покупатель;

Этапы разработки:

  • Этап-1. Задача Разработать приложение BookStore.App: просмотр списка Книг.
    Состав:
    - Book - Книга;
    - Category - Категория;
    Пользователь может:
    - выполнять Чтение списка Книг;
    - назначать категории на Книгу;
  • Этап-2. Задача Доработать приложение BookStore.App: добавить условный модуль - Продажи (т.е. не отдельный модуль, а классы в составе основного приложения).
    Состав:
    - Seller - Продавец;
    - Deal - Сделка;
    - Buyer - Покупатель;
    Пользователь может: - выполнять Чтение списка Книг;
    - назначать категории на Книгу;
    - выполнять CRUD со Сделками;
    - выполнять CRUD с Покупателями;
  • Этап-3. Задача Разработать приложение BookStore.AppManager: приложение для управленца.
    Состав:
    - Book - Книга;
    - Category - Категория;
    - Seller - Продавец;
    Пользователь может:
    - выполнять CRUD с Книгами;
    - выполнять CRUD с Категориями;
    - выполнять CRUD с Продавцами;
    - Сохранить данные по Продавцам, Категориям, Продавцами в общее хранилище(БД);

Как я вижу решение:

  • BookStore.App;

    • BooksService.cs
    • CategoriesService.cs
    • SellersService.cs
    • DealsService.cs
    • BuyersService.cs
  • BookStore.AppManager;

    • BooksService.cs
    • CategoriesService.cs
    • SellersService.cs
  • BookStore.DAL;

    • BooksRepository.cs
    • CategoriesRepository.cs
    • SellersRepository.cs
    • DealsRepository.cs
    • BuyersRepository.cs
  • BookStore.Model;

    • Book.cs
    • Category.cs
    • Seller.cs
    • Deal.cs
    • Buyer.cs

Ссылки между проектами:

  • BookStore.App;
    • BookStore.DAL;
    • BookStore.Model;
  • BookStore.AppManager;
    • BookStore.DAL;
    • BookStore.Model;
  • BookStore.DAL;
  • BookStore.Model;

Ответы (0 шт):