Size: a a a

feature-sliced architecture

2021 March 10

IR

Ingrid Raines in feature-sliced architecture
Dmitriy Shuleshov
Это не всегда удобно при расширении, когда одна маленькая фича "взрывается"
Если маленькая фича взрывается, то возможно это на самом деле две фичи
источник

IR

Ingrid Raines in feature-sliced architecture
Dmitriy Shuleshov
Что такое зашареный стейт в энтитес?

Чем энтити вцелом от фичи отличается?
Менеджить состояние фичи можно только из самой фичи и только в её собственных целях.
Менеджить состояние сущности —напротив, можно также и из других абстракий кроме shared в целях этих абстракций
@sovasergey @ilya_azin поправьте, если что не так говорю
источник

IR

Ingrid Raines in feature-sliced architecture
Ilya Azin
А раньше entities - это был shared, а UI/lib - наверху лежали

Нууу хз насколько проще)

Тут конечно и мы со своим видением пришли, суету навели

Но как никак мердж разных опытов
В том посте, кстати, entities до сих пор называются models ( капитан очевидность )
источник

DS

Dmitriy Shuleshov in feature-sliced architecture
Ingrid Raines
Если маленькая фича взрывается, то возможно это на самом деле две фичи
Тогда как понять границы фичи и когда она нуждается в делении?
источник

c⁣

createStore<🦉>... in feature-sliced architecture
Dmitriy Shuleshov
Тогда как понять границы фичи и когда она нуждается в делении?
Одна фича это одна полезная функциональность для пользователя
источник

c⁣

createStore<🦉>... in feature-sliced architecture
Когда ты в одной фича реализуешь несколько — это и есть нарушение границ
источник

DS

Dmitriy Shuleshov in feature-sliced architecture
createStore<🦉> ⁣
Одна фича это одна полезная функциональность для пользователя
Одна полезная неделимая функциональность не может быть огромной по реализации?
источник

c⁣

createStore<🦉>... in feature-sliced architecture
Dmitriy Shuleshov
Одна полезная неделимая функциональность не может быть огромной по реализации?
Может быть. Но это не плохо.
Плюс реализацию можно обобщить и унести из фичи в shared например
источник

c⁣

createStore<🦉>... in feature-sliced architecture
На основе одной и той же функциональности можно сделать очень много фич
источник

DS

Dmitriy Shuleshov in feature-sliced architecture
createStore<🦉> ⁣
Может быть. Но это не плохо.
Плюс реализацию можно обобщить и унести из фичи в shared например
Я не говорю что это плохо. Изначальный вопрос был про то как организоваться код внутри такой огромной фичи
источник

c⁣

createStore<🦉>... in feature-sliced architecture
Не может быть фичи карта-офиса, а вот бронирование переговорки на карте, поиск сотрудника, смена рабочего места, да. Это уже три фичи основанные просто на карте офиса
источник

c⁣

createStore<🦉>... in feature-sliced architecture
И эти фичи маленькие
источник

c⁣

createStore<🦉>... in feature-sliced architecture
Как и код реализующий карту офиса
источник

c⁣

createStore<🦉>... in feature-sliced architecture
Dmitriy Shuleshov
Я не говорю что это плохо. Изначальный вопрос был про то как организоваться код внутри такой огромной фичи
Смысл в том, чтобы в фиче лежал только код реализующий непосредственно саму функциональность, без лишних подробностей и всяких внутренних библиотек (в идеале)
источник

c⁣

createStore<🦉>... in feature-sliced architecture
Открываешь код фичи и видишь только то, что относится к задаче, не больше
источник

DS

Dmitriy Shuleshov in feature-sliced architecture
createStore<🦉> ⁣
Открываешь код фичи и видишь только то, что относится к задаче, не больше
А если библиотека относится только к этой фиче?
источник

DS

Dmitriy Shuleshov in feature-sliced architecture
А че тут форматированый текст запрещен?
источник

c⁣

createStore<🦉>... in feature-sliced architecture
Dmitriy Shuleshov
А че тут форматированый текст запрещен?
Такое нельзя запретить
источник

DS

Dmitriy Shuleshov in feature-sliced architecture
createStore<🦉> ⁣
Такое нельзя запретить
Бот есть?
источник

c⁣

createStore<🦉>... in feature-sliced architecture
Dmitriy Shuleshov
А если библиотека относится только к этой фиче?
Только ли к одной фиче? Может к сущности которой фича оперирует?

Вообще, можно создать внутри фичи lib
источник