|
Как сделать проект более структурно понятным?
|
|||
---|---|---|---|
#18+
PetroNotC SharpSeriyKкак с языка событий одной подсистемы перевести на язык действий другой подсистемы.про SOAP слышал? Какие мнения? Ну или про COM? Дедушка COM... Зачем он тут? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2019, 13:43 |
|
Как сделать проект более структурно понятным?
|
|||
---|---|---|---|
#18+
SeriyKВ этом случае п.1 можно положить в свою библиотеку функцийда. dll с библиотечными функциями SeriyKВ представленном выше конкретном случае подсистему с бесконечным циклом надо лишить громкого звания подсистемы (забрав у нее интерфейс) и положить в общедоступные объекты, в ней определить необходимые для взаимодействия исключения и спокойно ее с этими исключениями использовать где нужно.да ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2019, 13:44 |
|
Как сделать проект более структурно понятным?
|
|||
---|---|---|---|
#18+
maytonДедушка COM... Зачем он тут?у MS была цель как у ТС чтобы куски писали на разных ЯП)). Но не получилось) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2019, 13:45 |
|
Как сделать проект более структурно понятным?
|
|||
---|---|---|---|
#18+
PetroNotC SharpSeriyK, Термин "черный ящик" учили? У него есть вход и выход. У вас 2 ящика. Как считаете, они зависимы?)) Во вход втекает Н литров, в выход вытекает М литров. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2019, 13:49 |
|
Как сделать проект более структурно понятным?
|
|||
---|---|---|---|
#18+
Ролг ХупинPetroNotC SharpSeriyK, Термин "черный ящик" учили? У него есть вход и выход. У вас 2 ящика. Как считаете, они зависимы?)) Во вход втекает Н литров, в выход вытекает М литров.и...? Мысль то формулируй) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2019, 13:59 |
|
Как сделать проект более структурно понятным?
|
|||
---|---|---|---|
#18+
PetroNotC SharpmaytonДедушка COM... Зачем он тут?у MS была цель как у ТС чтобы куски писали на разных ЯП)). Но не получилось) Просто начали с SOAP. И логично было добавить бабушку CORBA, и брата дедушки DCOM. Мне кажется последний родственник был заточен на межсетевую интеграцию. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2019, 14:08 |
|
Как сделать проект более структурно понятным?
|
|||
---|---|---|---|
#18+
mayton, DCOM межсетевой COM. А corba тогда в дельфи не котировался когда я там писал. В других ЯП не знаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2019, 14:10 |
|
Как сделать проект более структурно понятным?
|
|||
---|---|---|---|
#18+
mayton, вообще, IT ходит зигзагами) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2019, 14:12 |
|
Как сделать проект более структурно понятным?
|
|||
---|---|---|---|
#18+
Спиралью скорее. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2019, 15:17 |
|
Как сделать проект более структурно понятным?
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2019, 15:33 |
|
Как сделать проект более структурно понятным?
|
|||
---|---|---|---|
#18+
Спираль мебиуса ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2019, 15:34 |
|
Как сделать проект более структурно понятным?
|
|||
---|---|---|---|
#18+
SeriyKБалин! Да не в средстве доставки ошибки дело! Уже третий раз на этом циклятся! Беда в том, что эти две подсистемы должны ОДИНАКОВО понимать произошедшии ситуации, т.е. теряют взаимную независимость, потому что одна подсистема должна подстраиваться под другую. Вот по этому предложению не совсем понятно. "должны ОДИНАКОВО ... т.е. теряют взаимную независимость..." Так "должны" плохо или "теряют" плохо? Я тебе нарисовал систему, где твои две подсистемы независимы. Очереди предоставляют довольно универсальное API. Твои подсистемы друг о друге ничего не знают. SeriyKШестая страница обсуждения, а вы так и не поняли, что зависимость появляется из- за необходимости ДОГОВОРИТЬСЯ и ОДИНАКОВО понимать происходящие ситуации. Хоть в 10 слоев заворачивайся обертками- все равно в конечном итоге встанет вопрос как с языка событий одной подсистемы перевести на язык действий другой подсистемы.Ты хочешь какой-то сферический конь в вакууме. Когда у тебя есть конкретные данные - у тебя будет зависимость, на чём бы ты ни писал. Не хочешь конкретные данные - напиши интерфейс, который на всё будет передавать/возвращать какой-нибудь _variant_t или boost::any и дальше каждая система будет решать, что с ним делать. Зато капец как независимо. Хочется лёгкого перевода на другие языки? Пиши на чистых сях, они достаточно хорошо близки ко всему. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.06.2019, 06:35 |
|
Как сделать проект более структурно понятным?
|
|||
---|---|---|---|
#18+
Предлагаю так же посмотреть на проблему шире: а так ли нужна независимость? К примеру, если надо от одной системе что-то передать другой, есть два варианта: - системы просто договариваются о протоколе - системы независимо валят всё в чёрный ящик и читают оттуда. плюсы второго подхода мы знаем минусы: - надо городить чёрный ящик - надо писать код, который разбирает данные из чёрного ящика - надо писать код, который формирует данные из чёрного ящика. К примеру, у вас есть структура для состояния, вам придётся отдельно закидывать в ящик её составляющие. Потому что независимость. плюсы первого подхода: - вы просто скидываете и пишите/читаете пласт данных в/из потока. неужели всё у вас в проекте так часто меняется, что приходится напрягаться в независимость? :) я тут с одним ява-программистом дискутировал на тему переопределения операторов, что это удобно, на что он мне сказал: ну вот придёт в проект новичок, ему надо будет показывать, что где переопределено. Я считаю, это большая проблема, выше уровнем, чем архитектурная: если в проект постоянно приходят новички ... |
|||
:
Нравится:
Не нравится:
|
|||
13.06.2019, 07:01 |
|
Как сделать проект более структурно понятным?
|
|||
---|---|---|---|
#18+
CEMbнеужели всё у вас в проекте так часто меняется, что приходится напрягаться в независимость? :)думаю он просто ищет крайние условия безотностительно проекта. Как тянут руку в огонь и понимают по факту - это горячо. Или как прогер каждый день думает - новую функцию? / перегрузку функции? /позвонить соисполнителю чтоб поправил входной char на int). ... |
|||
:
Нравится:
Не нравится:
|
|||
13.06.2019, 07:30 |
|
Как сделать проект более структурно понятным?
|
|||
---|---|---|---|
#18+
CEMb- системы просто договариваются о протоколе - системы независимо валят всё в чёрный ящик и читают оттуда.первый прдход часто видел когда заказчик и соисполнитель близко и постоянно доступен. Рефакторинг делать легко. Второй вариант когда между нашими и ихними в кавычках пропасть согласований, корректировки ЧТЗ и командировки. То есть, я то свои системы стараюсь делать ЗАВИСИМЫМИ. Вот в чем дело, автор). ... |
|||
:
Нравится:
Не нравится:
|
|||
13.06.2019, 07:41 |
|
Как сделать проект более структурно понятным?
|
|||
---|---|---|---|
#18+
CEMbсистемы независимы. Очереди предоставляют довольно универсальное API. Твои подсистемы друг о друге ничего не знают. Нет, будут знать! SeriyKВопрос не в способе доставки, а во взаимо- понимании (договоренности) двух подсистем. Повторюсь, что могу без лишних объектов (таких как очередь) бросить исключение, и оно само поднимется выше по стеку и передаст информацию о произошедшем. Вопрос в том, чтобы выше по стеку поняли как себя вести в этой ситуации. Возможно одно из двух: 1. Ниже по стеку должны знать потенциальные варианты действий подсистемы, находящейся выше по стеку (и подготавливали данные исходя из этого, сообщая об ошибке). 2. Выше по стеку умели интерпретировать результаты того, что происходит ниже. Введение промежуточного объекта ("переводчика" с языка одной подсистемы на язык другой) не изменит ситуацию, поскольку зависимость будет существовать через него. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.06.2019, 07:38 |
|
Как сделать проект более структурно понятным?
|
|||
---|---|---|---|
#18+
SeriyKНет, будут знать!это замечательно. Разве это плохо? Разве контроль типов это плохо? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.06.2019, 08:58 |
|
Как сделать проект более структурно понятным?
|
|||
---|---|---|---|
#18+
PetroNotC Sharpэто замечательно. Разве это плохо? Разве контроль типов это плохо? Да, это плохо: если мне потребуется вытащить из проекта небольшой функционал, то его подсистема "потянет" соседнюю, а та в свою очередь следующую и так надо будет перенести весь проект (из- за мелочи!). И дело не только в возможности копирования наработок, дело и в том, что непосредственно во время программирования надо в голове держать всю систему целиком (ведь она вся связана!), что усложняет разработку систем (уже при размере в 100 файлов все эти зависимости приводят к тому, что большинство времени уходит на "прыжки" по файлам и потуге удержать весь этот ансамбль в голове). ... |
|||
:
Нравится:
Не нравится:
|
|||
14.06.2019, 09:15 |
|
Как сделать проект более структурно понятным?
|
|||
---|---|---|---|
#18+
SeriyK, Ты как будто не читал что выше писали. Если надо вытащить, то можно вытащить ФУНКЦИОНАЛЬНЫЕ куски. Сердце нельзя вытащить, а ногу отрезать можно. Ферштейн? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.06.2019, 09:35 |
|
|
start [/forum/topic.php?fid=57&gotonew=1&tid=2017607]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
39ms |
get topic data: |
8ms |
get first new msg: |
8ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
1ms |
others: | 11ms |
total: | 163ms |
0 / 0 |