Pull to refresh
3
0
Send message

И правда, вы полностью правы, потерял среди файлов, написанное расширение на Expression.

Теперь понял, к чему вы все спрашивали. У меня собственная реализация, которую постараюсь прикрепить к статье

Вы сами ответили на свой вопрос) либо я до сих пор не понимаю вас

В And или Or спецификация (приведённых в статье) в методе SatisfiedBy() для комбинации двух Expression используется вызов left.Or(right)

Эти методы реализованы на уровне Expression

Про рабочий пример - не могу показать, репозитории являются приватными

Но использование в реальных кодах несильно отличается от приведенного в примерах, разве что немного более сложные комбинации спецификаций

Вы можете увидеть это в примерах кода. Обратите внимание на классы AndSpecification и OrSpecification.

Не обращайте внимания, никакого подтекста здесь нет, просто я не углядел за названиями, правильнее было бы использовать Repository.

UML модель брал с реального примера, где использовались названия Storage для репозиториев, и не совсем полностью подправил.

Хороший вопрос, не думал об этом, по идее, такая ситуация при моей реализации возникнуть может.

Скорее всего будут использованы skip и take последней спецификации, у которой они проставлены.

Думаю правильным решением оставить это на отслеживание разработчику, так как бросать ошибку - не вариант из-за того, что могут быть кейсы, когда надо перезаписать Skip и Take новой спецификаций.

Если отвечать на вопрос прямо, при текущей реализации, возможно менять Skip и take извне. Поэтому после объединения двух разных спецификаций, можно поставить необходимые Skip и Take

Большое спасибо за подробный комментарий, приму во внимание ваши замечания

Полностью поддерживаю! Swagger ни разу не подводил, даже с учётом сложнейших атрибутов описания вложенных схем данных.

Уверен, достаточно просто уметь писать код для генератора и уметь правильно настраивать его, и в 90% случаях этого будет более чем достаточно.

Вопрос к автору: автоматической генерации у вас все также нет. Как и совместимости с генераторами, например в typescript. Получается в целом вы разработали ещё одну спецификацию для описания API вручную..

Может быть вы ещё и миграции вручную пишете?)

Спасибо за статью, сам совсем недавно столкнулся с проблемой невозможности объявить операторы в интрефейсах (реализовывал спецификацию), теперь это сделать гораздо проще, да и в использовании намного удобнее)

Полностью поддерживаю комментарий! При поисках бага, или разбора легаси кода, такое монотонное "отвлечение", помогает лучше пары часов дебага)
Иногда даже поесть отойдешь и в голову приходит решение :)

Хотел попросить более подробно объяснить разницу между интергационным и и сквозными тестами. На мой взгляд, это две вещи одной природы, интеграционный проверяет взаимодецствие с другими компонентами системы, т. е. их совместную работу, в это же время сквозной тест также использует несколько компонентов. Можно ли сказать, что сквозной тест включает в себя (содержит) интеграционный?

Замечательная статья, сам довольно часто играл в майнкрафт, теперь же знаю как именно происходит создание мира! Меня всегда удивляла его сложность и запутанность)

Да, тоже об этом подумал, когда читал

И да и нет, везде нужна мера, и в разговорах, и в молчании

Information

Rating
Does not participate
Registered
Activity