Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Разработка информационных систем Новый топик    Ответить
Топик располагается на нескольких страницах: 1 2      [все]
 Посоветуйте книгу по правильной реализации архитектуры "Клиент - Сервер"  [new]
Totos
Member

Откуда: Калуга
Сообщений: 186
Здравствуйте. Точно не знаю в какой раздел разместить данный запрос ...

Имею базовые знания в программировании.
В качестве практики в процессе обучения стоит задача переписать программу, реализованную по архитектуре "клиент C# - сервер MS SQL".

Интересуют правильные подходы по организации приложений "клиент - сервер", а именно хотелось бы получить ответы, рекомендации и практические подходы на подобные вопросы:
1) Как правильно разделять логику между клиентом и сервером: что оставлять на уровне клиента (толстого клиента), а что лучше перенести на сервер БД;
2) Как правильно реализовать совместный доступ к данным: что, когда и как часто грузить или обновлять;
3) Как правильно работать с транзакциями и блокировками;
4) Как избежать проблем с одновременным доступом к БД и одновременному изменению одних и тех же данных;
5) Может есть какие-нибудь рекомендации по построению структуры классов для организации доступа к БД.
6) ...

В ходе предыдущих практик разработки ПО встречался в различными вариантами, которые (как мне кажется) не являются правильными, а именно:
1) На клиента фактически грузились "слепки" всех таблиц -> Дальнейшая обработка данных происходила на клиенте -> После подтверждения изменений данные перезаписывались обратно. При этом возникала проблема перезатирания одних и тех же данных. Другой клиент терял свои изменения.
2) ПО было реализовано с частым использованием транзакций, при этом постоянно возникали взаимные блокировки, когда другой клиент не мог работать.

Хочется переписать программу правильно, с правильной архитектурой и подходами.
Если ли какие-нибудь книги, где данные методы могут быть описаны ?
Привязка к языку не обязательна, но планируется использовать C# + MS SQL
3 окт 17, 09:23    [20837952]     Ответить | Цитировать Сообщить модератору
 Re: Посоветуйте книгу по правильной реализации архитектуры "Клиент - Сервер"  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 30362
Totos,
Там нет ничего особенного.
Клинт как можно тоньше.
Вся логика в базе на вьюхах и хп.
Клиент любой.
3 окт 17, 09:48    [20838041]     Ответить | Цитировать Сообщить модератору
 Re: Посоветуйте книгу по правильной реализации архитектуры "Клиент - Сервер"  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 30362
Totos,
Разработчика бд в штат возьмите
3 окт 17, 09:50    [20838048]     Ответить | Цитировать Сообщить модератору
 Re: Посоветуйте книгу по правильной реализации архитектуры "Клиент - Сервер"  [new]
LSV
Member

Откуда: Киев
Сообщений: 30144
// Как правильно разделять логику между клиентом и сервером.

Клиент ничего не должен знать о предметной области. Вообще. Он просто оперирует списками.
Все что вы видите на экране - списки (поля и строки).
3 окт 17, 09:55    [20838063]     Ответить | Цитировать Сообщить модератору
 Re: Посоветуйте книгу по правильной реализации архитектуры "Клиент - Сервер"  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 30362
LSV,
+1
ТС зря толстого клиента делал.
Биндинг наше всё.
3 окт 17, 09:57    [20838068]     Ответить | Цитировать Сообщить модератору
 Re: Посоветуйте книгу по правильной реализации архитектуры "Клиент - Сервер"  [new]
Totos
Member

Откуда: Калуга
Сообщений: 186
Petro123
Totos,
Разработчика бд в штат возьмите


Не вариант. Цель - обучиться самому.

Petro123
Клинт как можно тоньше.
Вся логика в базе на вьюхах и хп.


На этом же форуме некоторое время назад слышал абсолютно противоположное мнение, а именно: если клиент не контролирует действия, то не стоит переносить логику на уровень БД.
Так, что единого мнения нет.

И все-таки, книг по данной тематике не существует ? Только практика и метод "проб и ошибок" ?
3 окт 17, 10:10    [20838104]     Ответить | Цитировать Сообщить модератору
 Re: Посоветуйте книгу по правильной реализации архитектуры "Клиент - Сервер"  [new]
Изопропил
Member

Откуда:
Сообщений: 30647
Totos
Только практика и метод "проб и ошибок" ?

здравый смысл ещё
3 окт 17, 10:12    [20838108]     Ответить | Цитировать Сообщить модератору
 Re: Посоветуйте книгу по правильной реализации архитектуры "Клиент - Сервер"  [new]
Totos
Member

Откуда: Калуга
Сообщений: 186
Изопропил
Totos
Только практика и метод "проб и ошибок" ?

здравый смысл ещё


У каждого здравый смысл свой :)
Сколько людей, столько и мнений
3 окт 17, 10:18    [20838122]     Ответить | Цитировать Сообщить модератору
 Re: Посоветуйте книгу по правильной реализации архитектуры "Клиент - Сервер"  [new]
Изопропил
Member

Откуда:
Сообщений: 30647
Totos
У каждого здравый смысл свой :)

это не так
3 окт 17, 10:19    [20838131]     Ответить | Цитировать Сообщить модератору
 Re: Посоветуйте книгу по правильной реализации архитектуры "Клиент - Сервер"  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 30362
Totos
Изопропил
пропущено...

здравый смысл ещё


У каждого здравый смысл свой :)
Сколько людей, столько и мнений

Т.е. вы сделали плохо и всё равно не поверили?
Смените профессию.
3 окт 17, 10:31    [20838167]     Ответить | Цитировать Сообщить модератору
 Re: Посоветуйте книгу по правильной реализации архитектуры "Клиент - Сервер"  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 30362
Totos
если клиент не контролирует действия, то не стоит переносить логику на уровень БД.

Ссылку дай. И нечё на форум валить.
3 окт 17, 10:32    [20838173]     Ответить | Цитировать Сообщить модератору
 Re: Посоветуйте книгу по правильной реализации архитектуры "Клиент - Сервер"  [new]
Totos
Member

Откуда: Калуга
Сообщений: 186
Petro123
Totos
пропущено...


У каждого здравый смысл свой :)
Сколько людей, столько и мнений

Т.е. вы сделали плохо и всё равно не поверили?
Смените профессию.


Чтобы сменить профессию, надо её сначала получить ...

См.выше:
Имею базовые знания в программировании.
В качестве практики В ПРОЦЕССЕ ОБУЧЕНИЯ стоит задача переписать программу, реализованную по архитектуре "клиент C# - сервер MS SQL".

Я так понимаю, Вы сразу родились с профессиональными знаниями программирования на всех языках.
Тогда дайте конкретный совет - а лучше конкретную ссылку или название книги, если такие есть.
3 окт 17, 10:37    [20838193]     Ответить | Цитировать Сообщить модератору
 Re: Посоветуйте книгу по правильной реализации архитектуры "Клиент - Сервер"  [new]
LSV
Member

Откуда: Киев
Сообщений: 30144
Totos
Тогда дайте конкретный совет - а лучше конкретную ссылку или название книги, если такие есть.
Вряд-ли в книге будет описана серебряная пуля.
Проблема в том, что специфика задачи сильно влияет на способ решения.
Нужно изучить хотя бы несколько бест-практисов.
3 окт 17, 10:44    [20838222]     Ответить | Цитировать Сообщить модератору
 Re: Посоветуйте книгу по правильной реализации архитектуры "Клиент - Сервер"  [new]
Изопропил
Member

Откуда:
Сообщений: 30647
Totos
При этом возникала проблема перезатирания одних и тех же данных. Другой клиент терял свои изменения.

читать - "оптимистическая блокировка""
Totos
ПО было реализовано с частым использованием транзакций, при этом постоянно возникали взаимные блокировки, когда другой клиент не мог работать.

это просто ошибки реализации
3 окт 17, 10:49    [20838243]     Ответить | Цитировать Сообщить модератору
 Re: Посоветуйте книгу по правильной реализации архитектуры "Клиент - Сервер"  [new]
Totos
Member

Откуда: Калуга
Сообщений: 186
Изопропил
это просто ошибки реализации


Да, это понятно. Но денег за эти ошибки было отвалено не мало.
И даже служба поддержки с разработчиками системы не смогли их решить на тот момент.

Вот и хочется посмотреть что-нибудь, чтобы не совершать таких ошибок.
3 окт 17, 10:55    [20838264]     Ответить | Цитировать Сообщить модератору
 Re: Посоветуйте книгу по правильной реализации архитектуры "Клиент - Сервер"  [new]
Totos
Member

Откуда: Калуга
Сообщений: 186
LSV
Totos
Тогда дайте конкретный совет - а лучше конкретную ссылку или название книги, если такие есть.
Вряд-ли в книге будет описана серебряная пуля.
Проблема в том, что специфика задачи сильно влияет на способ решения.
Нужно изучить хотя бы несколько бест-практисов.


Вот я этого и просил, только где их взять, если мы не софтверная компания и других программистов нет.
Можете посоветовать источники - куда копать.
Интересуют общие правильные подходы, а не исправление существующих ошибок.

А специфики особо никакой - стандартные справочники: организации, сотрудники, материалы.
И различные журналы: движение материалов, склады.

Но нет, так нет ... попытка не пытка
3 окт 17, 10:59    [20838283]     Ответить | Цитировать Сообщить модератору
 Re: Посоветуйте книгу по правильной реализации архитектуры "Клиент - Сервер"  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 30362
Totos
Вот и хочется посмотреть что-нибудь, чтобы не совершать таких ошибок.

Нет таких книг.
Главное качество программиста - логическое мышление.
Поэтому женского пола тут мало).
У вас в рассказе логи мало.
Сделали толстый клиент без обоснования.
3 окт 17, 11:17    [20838363]     Ответить | Цитировать Сообщить модератору
 Re: Посоветуйте книгу по правильной реализации архитектуры "Клиент - Сервер"  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 30362
Totos
Интересуют общие правильные подходы,

Выше поход ещё с дельфей был сказан.
Удачи!
3 окт 17, 11:18    [20838368]     Ответить | Цитировать Сообщить модератору
 Re: Посоветуйте книгу по правильной реализации архитектуры "Клиент - Сервер"  [new]
Totos
Member

Откуда: Калуга
Сообщений: 186
Petro123
Totos
Вот и хочется посмотреть что-нибудь, чтобы не совершать таких ошибок.

Нет таких книг.
Главное качество программиста - логическое мышление.
Поэтому женского пола тут мало).
У вас в рассказе логи мало.
Сделали толстый клиент без обоснования.


Самое интересное, что это сделал программист с 15-летнем стажем (сейчас ушел).
А у меня стаж менее полугода ...

"Поэтому женского пола тут мало)." - сейчас Вас сожрут :)
3 окт 17, 11:20    [20838377]     Ответить | Цитировать Сообщить модератору
 Re: Посоветуйте книгу по правильной реализации архитектуры "Клиент - Сервер"  [new]
Изопропил
Member

Откуда:
Сообщений: 30647
Totos
А у меня стаж менее полугода ...

тогда учиться, учиться и учиться....

не исключено может помочь
https://www.ozon.ru/context/detail/id/139953550/ (подойдут и старые издания)
3 окт 17, 11:30    [20838419]     Ответить | Цитировать Сообщить модератору
 Re: Посоветуйте книгу по правильной реализации архитектуры "Клиент - Сервер"  [new]
DirksDR
Member

Откуда: Пермь
Сообщений: 325
Totos,

Поищите на этом форуме по слову "Фаулер". Массу ссылок получите.
Вот одна:
http://www.sql.ru/forum/1057290/metodoloii-proektirovaniya-informacionnyh-sistem?hl=??????
3 окт 17, 11:53    [20838505]     Ответить | Цитировать Сообщить модератору
 Re: Посоветуйте книгу по правильной реализации архитектуры "Клиент - Сервер"  [new]
Изопропил
Member

Откуда:
Сообщений: 30647
DirksDR,

фаулеру не до двузвенки
3 окт 17, 11:56    [20838517]     Ответить | Цитировать Сообщить модератору
 Re: Посоветуйте книгу по правильной реализации архитектуры "Клиент - Сервер"  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 30362
Изопропил
DirksDR,
фаулеру не до двузвенки

+1 ))))
3 окт 17, 12:03    [20838540]     Ответить | Цитировать Сообщить модератору
 Re: Посоветуйте книгу по правильной реализации архитектуры "Клиент - Сервер"  [new]
Partisan M
Member

Откуда:
Сообщений: 1184
Totos
"Поэтому женского пола тут мало)." - сейчас Вас сожрут :)



Этот оратор с похвальным усердием отвечает на вопрос, который никто не задавал.
3 окт 17, 12:44    [20838647]     Ответить | Цитировать Сообщить модератору
 Re: Посоветуйте книгу по правильной реализации архитектуры "Клиент - Сервер"  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 30362
Partisan M,
Дак вот она, женщина))).
Причём, не в духе).
3 окт 17, 13:19    [20838780]     Ответить | Цитировать Сообщить модератору
 Re: Посоветуйте книгу по правильной реализации архитектуры "Клиент - Сервер"  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 22808
Totos,

книг по правильной архитектуре и подходам полно:

Принципы, паттерны и методики гибкой разработки на языке C#
Приемы объектно-ориентированного проектирования. Паттерны проектирования
Адаптивный код на C#. Проектирование классов и интерфейсов, шаблоны и принципы SOLID

Но мой Вам совет: начните с малого. Локализуйте основные проблемы, поймите их причину и исправьте.
Переписать программу правильно, да ещё и при отсутсвии опыта проектирования и рефакторинга - утопия.
4 окт 17, 09:03    [20840854]     Ответить | Цитировать Сообщить модератору
 Re: Посоветуйте книгу по правильной реализации архитектуры "Клиент - Сервер"  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 22808
Кстати о рефакторинге:

Рефакторинг с использованием шаблонов
4 окт 17, 09:06    [20840862]     Ответить | Цитировать Сообщить модератору
 Re: Посоветуйте книгу по правильной реализации архитектуры "Клиент - Сервер"  [new]
alex55555
Member

Откуда:
Сообщений: 305
Totos
Здравствуйте. Точно не знаю в какой раздел разместить данный запрос ...

Методология в мире одна - научный подход. К ней есть масса всяческих "расшифровок", но обычно они очень узко показывают малую часть проблемы. Кроме того человеку (обычно до безобразия самоуверенному) на своём опыте нужно получить по голове, что бы не считать себя самым умным, и только после этого он начнёт работать вдумчиво и не ожидая чудес от выбранного им единожды подхода. То есть нужно учиться понимать проблемы объективно (не искажая их самомнением) и их устранять, но для понимания нужно сначала повстречаться с хотя бы наиболее часто встречающимися из них. А что бы повстречаться - нужно много работать.

На вашем уровне у вас есть одна задача - оптимизировать существующую систему. Вот и думайте, что такое оптимизация и зачем она вообще нужна. После просветления - пытайтесь применить "просветлённые" знания. Закодировав их в виде некой программы вы обнаружите, что опять у вас всё получилось криво да косо. Ну и значит опять нужно просветляться. И когда в рамках одной текущей системы для вас уже не останется места для просветления (правда здесь сложно отделить самоуверенность от реальности), можно пойти поискать другую контору с другой системой, посложнее, на новых технологиях и т.д. Ну или впарить начальству переход на трёхзвенку (для её изучения тем же методом).

В общем - пилите то, что есть, и делайте это с увлечением, обращая внимание на эффективность. Ибо цель - эффективность. Всё остальное - эротические фантазии.
4 окт 17, 12:19    [20841652]     Ответить | Цитировать Сообщить модератору
 Re: Посоветуйте книгу по правильной реализации архитектуры "Клиент - Сервер"  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 30362
alex55555,
Согласен.
Берет отдельный АРМ Справочник работников в виде отдельной модальной формы и отдельного коннекта.
И делает её в тонком клиенте, без переброски классов в UserForm, сериализации и блокировкой на 0,1 сек во время коимита на ОК.
...
Терия без практики мертва.
4 окт 17, 14:05    [20842161]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: 1 2      [все]
Все форумы / Разработка информационных систем Ответить