Сообщение Re: Дизайн слоя доступа к данным от 27.02.2019 12:25
Изменено 27.02.2019 12:33 L_G
Re: Дизайн слоя доступа к данным
scf,
не ответ "за какой вариант", но мысли на тему:
если речь о БД, в которых традиционно записи имеют ключевое поле (ID) —
играет роль момент и место генерации этого ID для новых записей.
в варианте (а) скорее всего метод "create" должен возвращать сгенеренный на стороне сервера ID,
а метод "update" — принимать его как параметр.
в варианте (b) метод "save" скорее всего будет требовать ID как параметр,
то есть либо он должен генерироваться на клиенте (что часто чревато проблемами),
либо интерфейсу нужен дополнительный метод "get_new_id" — т.е. все равно одним "save" не обойтись.
не ответ "за какой вариант", но мысли на тему:
если речь о БД, в которых традиционно записи имеют ключевое поле (ID) —
играет роль момент и место генерации этого ID для новых записей.
в варианте (а) скорее всего метод "create" должен возвращать сгенеренный на стороне сервера ID,
а метод "update" — принимать его как параметр.
в варианте (b) метод "save" скорее всего будет требовать ID как параметр,
то есть либо он должен генерироваться на клиенте (что часто чревато проблемами),
либо интерфейсу нужен дополнительный метод "get_new_id" — т.е. все равно одним "save" не обойтись.
Re: Дизайн слоя доступа к данным
scf,
не ответ "за какой вариант", но мысли на тему:
если речь о БД, в которых традиционно записи имеют ключевое поле (ID) —
играет роль момент и место генерации этого ID для новых записей.
в варианте (а) скорее всего метод "create" должен возвращать сгенеренный на стороне сервера ID,
а метод "update" — принимать его как параметр.
в варианте (b) метод "save" скорее всего будет требовать ID как параметр,
то есть либо он должен генерироваться на клиенте (что часто чревато проблемами),
либо интерфейсу нужен дополнительный метод "get_new_id" — т.е. все равно одним "save" не обойтись.
P.S.: метод "save", добавляющий записи при ID==null и т.п. будет не идемпотентным
не ответ "за какой вариант", но мысли на тему:
если речь о БД, в которых традиционно записи имеют ключевое поле (ID) —
играет роль момент и место генерации этого ID для новых записей.
в варианте (а) скорее всего метод "create" должен возвращать сгенеренный на стороне сервера ID,
а метод "update" — принимать его как параметр.
в варианте (b) метод "save" скорее всего будет требовать ID как параметр,
то есть либо он должен генерироваться на клиенте (что часто чревато проблемами),
либо интерфейсу нужен дополнительный метод "get_new_id" — т.е. все равно одним "save" не обойтись.
P.S.: метод "save", добавляющий записи при ID==null и т.п. будет не идемпотентным