Методология, помогающая определять разбиение модулей и связи между ними в приложении
- Обеспечивает понятность и явность архитектуры
- Обеспечивает контроль и изоляцию модулей
- Обеспечивает адаптивность под проекты
feature-sliced - структурная методология для JavaScript фронтенд проектов
Основные идеи:
- разделить логику приложения не по типам, а по функциональности приложения, т.е. согласно бизнес-ценностям
См. также
separation of concerns,vertical-slices,feature-based - группировать слайсы БЛ по слоям и скоупу влияния
app>*processes>pages>features>entities>shared
См. также "Абстракции методологии" и "Разбиение приложения"
WIP:Нейминг групп временный, и будет определен окончательно ближе к релизу MVP
└── src/ ├── app/ # Layer: Приложение | # ├── processes/ # Layer: Процессы (опционален) | ├── {some-process}/ # Slice: (н-р процесс CartPayment) | | ├── lib/ # Segment: Инфраструктурная-логика (хелперы) | | └── model/ # Segment: Бизнес-логика | ... # | # ├── pages/ # Layer: Страницы | ├── {some-page}/ # Slice: (н-р страница ProfilePage) | | ├── lib/ # Segment: Инфраструктурная-логика (хелперы) | | ├── model/ # Segment: Бизнес-логика | | └── ui/ # Segment: UI-логика | ... # | # ├── features/ # Layer: Фичи | ├── {some-feature}/ # Slice: (н-р фича AuthByPhone) | | ├── lib/ # Segment: Инфраструктурная-логика (хелперы) | | ├── model/ # Segment: Бизнес-логика | | └── ui/ # Segment: UI-логика | ... # | # ├── entities/ # Layer: Бизнес-сущности | ├── {some-entity}/ # Slice: (н-р сущность User) | | ├── lib/ # Segment: Инфраструктурная-логика (хелперы) | | ├── model/ # Segment: Бизнес-логика | | └── ui/ # Segment: UI-логика | ... # | # ├── shared/ # Layer: Переиспользуемые ресурсы | ├── api/ # Segment: Логика запросов к API | ├── lib/ # Segment: Инфраструктурная-логика (хелперы) | └── ui/ # Segment: UI-логика | ... # | # └── index.tsx/ #Не так много примеров проектов, которые полностью следуют правилам и принципам методологии, с сохранением преимуществ
Это связано с тем, что принципы вырисовывают очень идеальную архитектуру в теории, но сложную в реализации
На данный момент ведется активная работа над тем, чтобы соединить опыт многих разработчиков и выразить его в единой методологии, помогающей в реализации методологии в проектах
- О методологии
- Об архитектуре
- Об истории методологии
NEW:HOT:Про абстракции методологииNEW:О мотивации создания методологииNEW:О понимании потребностей и формулировке задач- Дискуссии по методологии
Здесь обсуждаются и разбираются рельные примеры применения, вопросы, проблемы, идеи методологии
Все это в совокупности влияет на спецификацию, тулкит и в целом - на дальнейшее видение и развитие методологии Т.е. все, чего пока нет в спецификации/тулките - так или иначе обсуждается в github-discussions
NEW:О Public API сущностей- Как можно помочь?
- ⭐ Оцените нас на GitHub, если у вас остались положительные впечатления
Или если по-вашему этот проект должен развиваться дальше
- 💫 Ознакомьтесь с нашим contributing гайдом
Важно любое содействие - от фидбека до участия в самой разработке!
- ⭐ Оцените нас на GitHub, если у вас остались положительные впечатления