Данная статья затрагивает некоторые аспекты при выборе подхода к проектированию предметной области для сложных корпоративных систем. В ней исследуются причины возникновения классических подходов и их анализ, для возможного улучшения. Это моя первая статья на данную тему.
Рубрика «Entity»
Мой путь к быстрой и понятной архитектуре, или зачем я выбросил агрегаты из DDD?
2025-01-26 в 13:15, admin, рубрики: .net, aggregate, C#, DDD, domain model, domain-driven design, Entity, repository, services, use caseКак работают методы persist, merge из JPA и методы save, update, saveOrUpdate из Hibernate
2019-09-03 в 12:38, admin, рубрики: Entity, hibernate, java, jpa, merge, NonUniqueObjectException, persist, save, saveOrUpdate, update, Блог компании OTUS. Онлайн-образованиеДобрый день, друзья. Перевод статьи подготовлен специально для студентов курса "Разработчик Java".
Введение
В этой статье я собираюсь показать вам, как работают методы persist
, merge
из JPA и сравнить их с методами save
, update
, saveOrUpdate
из Hibernate.
Хотя лучше использовать JPA-методы для изменения состояния сущности (рус.),
вы увидите, что метод save
из Hibernate является хорошей альтернативой merge
, когда вы хотите уменьшить количество SQL-запросов, выполняемых во время пакетной обработки (batch processing).Читать полностью »
Поваренная книга разработчика: DDD-рецепты (4-я часть, Структуры)
2019-01-15 в 13:36, admin, рубрики: clean architecture, DDD, domain-driven design, Entity, patterns, ruby, ruby on rails, Screaming Architecture, Value Object, Анализ и проектирование систем, архитектура приложений, Программирование, Проектирование и рефакторинг, проектирование сайтов, проектирование систем, Роберт Мартин, эрик эвансВведение
Итак, мы уже определились с областью применения, методологией и архитектурой. Перейдем от теории к практике, к написанию кода. Хотелось бы начать с шаблонов проектирования, которые описывают бизнес логику — Service и Interactor. Но прежде чем приступить к ним, изучим структурные паттерны — ValueObject и Entity. Разрабатывать мы будем на языке ruby. В дальнейших статьях разберем все паттерны, необходимые для разработки с использованием Вариативной архитектуры. Все наработки, являющиеся приложениями к данному циклу статей, соберем в отдельный фреймворк.
И мы уже подобрали подходящее название — LunaPark.
Текущие наработки выложенны на Github.
Разобрав все шаблоны, соберем один полноценный микросервис.
Entity “фреймворк” для PHP из одного класса
2016-05-04 в 10:57, admin, рубрики: active record, ADODB, Entity, orm, php, sql, ооп, Разработка веб-сайтовПоскольку развитие технологий привело к тому, что у каждого программиста теперь есть собственный компьютер, в качестве побочного эффекта имеем тысячи разнообразных библиотек, фреймворков, сервисов, API и т.д. на все случаи жизни. Но когда этот случай жизни наступает, возникает проблема — что их этого использовать и что делать если оно не совсем подходит — переписывать, писать с нуля свое или прикручивать несколько решений для разных вариантов использования.
Думаю, многие замечали, что зачастую создание проекта сводится не столько к программированию сколько к написанию кода интеграции нескольких готовых решений. Иногда такие комбинации превращаются в новые решения, которые можно неоднократно использовать в последующих задачах.
Перейдем к конкретной «ходовой» задаче — объектная прослойка для работы с базами данных в PHP. Решений великое множество, начиная от PDO и заканчивая многоуровневыми (и, на мой взгляд, не совсем уместными в PHP) ORM движками.
Читать полностью »
Entity vs Value Object: полный список отличий
2016-01-21 в 4:56, admin, рубрики: .net, C#, DDD, Entity, Value Object, Программирование, Проектирование и рефакторинг Тема отличий таких понятий как Entity (Сущность) и Value Object (Объект-Значение) из Domain-Driven Design не нова. Тем не менее, я не смог найти статью с полным списком их отличий, так что решил написать свою.
Читать полностью »
GridFS vs SQL Server vs Local
2015-03-19 в 12:49, admin, рубрики: .net, AsNoTracking, C#, Catch, clr, CreateIfNotExists, db, download, Entity, express, file, FileInfo, framework, FS, GET, Grid, local, mongo, OutOfMemory, put, remoting, save, sql, thread, try, upload, загрузка, закачка, многопоточность, сервер, сохранение, СУБД, Тестирование веб-сервисов, файл, хранение, метки: localДля дотошных
В последнее время в среде разработчиков серверных приложений часто возникают споры о том, как лучше управлять фалами и какая технология обеспечивает более быстрые чтение/запись файлов. В сети стали появляться статьи и статейки о сравнительной производительность локальной файловой системы и GridFS. Или о хранении файлов в реляционной базе как BLOB против хранения на жёстком диске в файловой системе. Вот и я решил ввязаться в этот противостояние. Сегодня мы будем сравнивать производительность и накладные расходы MongoDB 2.6.7 x64 GridFS против MS SQL Server Express 2012 v11.0.5058.0 x64 против NTFS. Для эксперимента была использована платформа Windows 7 x64 SP1 на AMD Athlon(tm) II X2 250 Processor 3.00 GHz c 4ГБ ОЗУ 1033 MHz и HDD 600 Gb SATA 6Gb/s Western Digital VelociRaptor 10000rpm 32Mb. После каждого теста компьютер перезапускался, а базы обнулялись. Производительность будем рассматривать на примере файлового сервера на C# под .NET 4.5, код которого прикреплён к статье.
Читать полностью »