Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
ООП
|
|||
|---|---|---|---|
|
#18+
Доброй всем ночи!!! У меня следующая проблема: есть что-то отдаленно напоминающее ТЗ. И в принципе, все в этой задаче как бы и понятно: взять данные из БД1, дать возможность их редактировать, переложить куда-то еще, оттуда инфу берет уже другой кусок системы...инфа передается в 3 тысячи мест в разных форматах...естественно нужно поддерживать целостность и т.д. вобщем большая и не особо интересная задачка... опять же: вроде все понятно. Понарисовывала себе разные схемки. но надо с чего-то начинать... потому как только начинаю всем этим заниматься, то с чего собственно начать не знаю... и тут умные люди рассказали, что есть такие вещи, как анализ и проектирование, и такой Гради Буч.... и так оно все понятно, когда примеры смотришь... но когда дело доходит до того, что надо и для своей задачки сделать то же самое, что в примере.... вот тут появляются проблемы... и вот вопрос: как бы это проектирование применить на практике? как бы начать думать объектно? вопрос конечно совсем реторический, наверное, но может посоветуете что-то.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2005, 03:08 |
|
||
|
ООП
|
|||
|---|---|---|---|
|
#18+
iri_iri как бы это проектирование применить на практике? ну начать (без шуток и ёрничества!) советую всегда с функции main () - для СИ - и потом дело уже как-то само по себе прёт! iri_iri как бы начать думать объектно? а вот учить думать не умею... Скажем так, ... э-э-э... стоит попытаться представить себе объект как таковой. Вот он есть, этот объект, у него есть то-то и то-то, он умеет так и вот так... А ещё ему необходимо будет взаимодействовать с вот таким вот объектом... А потом садишься и пишешь ОБЪЕКТЫ, каждый из которых выполнет свои функции и не лезет в чужую жизнь... Не знаю как объяснить... на мой взгляд всё до безобразия логично и жизненно (потому ООП и получило широкое распространение!). Если сможешь точно объяснить в каком месте не ясно, то может смогу как-нить поточнее объяснить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2005, 03:37 |
|
||
|
ООП
|
|||
|---|---|---|---|
|
#18+
iri_iriДоброй всем ночи!!! У меня следующая проблема: как бы это проектирование применить на практике? как бы начать думать объектно? вопрос конечно совсем реторический, наверное, но может посоветуете что-то.... могу посоветовать закачать книгу "addison wesley - data access patterns - database interactions in object-oriented applications" - там очень простые примеры и довольно жизненные. Есть хорошая книга Фаулера "Архитектура корпоративные приложений", но она посложнее и серьёзнее будет, так что пока ограничься первой. Далее все програмёшки бухгалтерского ширпотреба (то что громко назывется корпоративными приложениями) обычно строятся однообразно: Есть сущности предметной области - контракт, товар, движение по складу, и т.д. - обычно они легко определяются. Любое действие заключается в следующем: взять несколько объектов из БД, обработать их, положить обратно в базу. Объекты как я сказал довольно легко придумать - каждая сущность реального мира отображаешь в класс. Операция положить/взять из базы - особо пока не заморачивайся, считай что у тебя есть способ сохранить любой объект/взять из базы. Этим будет заниматься какой-нить класс типа ObjectMapper - все алгоритмы твоего приложения будут запрашивать объекты у этого класса и также запрашивать сохранить объект. Вобщем думай логически и всё получится, хотя когда сделаешь скорее всего поймёшь что всё криво и надо бы подругому - но опыт набрать можно тока так ;) PS Ещё полистай книгу GoF "Приёмы объектно-ориентированного проектирования. Паттерны проектирования" - хорошо учит использовать объекты с умом :) Гради Буч-а читать не стоит - занудно и длинно объясняет очевидные весчи. По-моему книга несколько устарела. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2005, 11:41 |
|
||
|
ООП
|
|||
|---|---|---|---|
|
#18+
XED iri_iri как бы это проектирование применить на практике? ну начать (без шуток и ёрничества!) советую всегда с функции main () - для СИ - и потом дело уже как-то само по себе прёт! эээ... типа "Вали все в кучу, потом разберемся". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2005, 11:46 |
|
||
|
ООП
|
|||
|---|---|---|---|
|
#18+
ИнтеграторЭтим будет заниматься какой-нить класс типа ObjectMapper - все алгоритмы твоего приложения будут запрашивать объекты у этого класса и также запрашивать сохранить объект. а можно в этом месте поподробнее.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2005, 18:57 |
|
||
|
ООП
|
|||
|---|---|---|---|
|
#18+
iri_iri ИнтеграторЭтим будет заниматься какой-нить класс типа ObjectMapper - все алгоритмы твоего приложения будут запрашивать объекты у этого класса и также запрашивать сохранить объект. а можно в этом месте поподробнее.. Как раз на этом месте подробнее не надо :) Вопрос сохранения объектов в базу должен тебя волновать меньше всего на этапе проектирования ! Вообще открываешь книгу которую я процитировал выше и видишь перед собой ответы на многие твои вопросы : найти нужный тебе раздел легко - книга по сути является справочником по различным вопросам. Садишься за бумагу и карандаш и русешь в понятном только для тебя виде схемки твоей программы: какие сущности что делаю и за что отвечают, потом все свои сущности делаешь объектами и получаешь объектную модель ;) Отображение данных в базу в 2-х словах : есть объект class Device { public: int nID; string strName; string strType; .... }; есть твой класс, отвечающий за отображение class ObjectMapper { public: void saveDevice(Device& device); void loadDevice(int nID, Device& device); ..... }; делаешь Device device; .... theObjectMapper.saveObject(device); Это в самом примитивном случае - на практике там много тонкостей с блокировками и т.д. и т.п. Повторюсь - на это не заморачивайся пока - считай что такой класс у тебя есть. В Жабе например вообще такая отображалка есть стандартная и имеет звучное название JDO. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2005, 10:06 |
|
||
|
ООП
|
|||
|---|---|---|---|
|
#18+
Интегратор В Жабе например вообще такая отображалка есть стандартная и имеет звучное название JDO. В java есть более звучная штука: hibernate(.org). С её использованием, останется думать только о реализации бизнес-процессов. Писать самому ObjectMapping - это откровенный маразм, если приложение действительно не является очень простым. Хотя всё зависит от того, какой смысл вложить в это понятие... В книжке "Hibernate in action" - отлично написано о проблемах возникающих при попытках самостоятельного написания полноценных ORM систем. Краем уха слышал, что вроде бы была попытка написать клона hibernate не то для С++, ни то для .NET. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2005, 16:23 |
|
||
|
ООП
|
|||
|---|---|---|---|
|
#18+
NotGonnaGetUs Интегратор В Жабе например вообще такая отображалка есть стандартная и имеет звучное название JDO. В java есть более звучная штука: hibernate(.org). С её использованием, останется думать только о реализации бизнес-процессов. Вполне возможно - я не спец по жабе, так знаком немного ;) Писать самому ObjectMapping - это откровенный маразм, если приложение действительно не является очень простым. Хотя всё зависит от того, какой смысл вложить в это понятие... В книжке "Hibernate in action" - отлично написано о проблемах возникающих при попытках самостоятельного написания полноценных ORM систем. Краем уха слышал, что вроде бы была попытка написать клона hibernate не то для С++, ни то для .NET. А вот тут я поспорю. Во первых прежде чем пользоваться коммерческими продуктаминеплохо бы разобраться в принципах функционирования и изобрести велосипед. Браться за большие проекты сразу не имея опыта - тупиковое решение, так что подразумеваю что проект не большой. Во вторых верить в чудесное средсьво которое спасёт всех и вся в виде идеального JbjectMapper-a по меньшей мере наивно. Если начнёшь писать свой маппер то сразу поймёшь что такого решения нет и быть не может - рееляционная структура и объектная суть принципиально разные вещи и если думаешь об эффективности то сразу возникают серьёзные проблемы. Простой пример - в реляционном хранилище лучший вариант - использование запросов, которые могут быть эффективно оптимизированны РСУБД, а в объектном мире мы имеем перебор объектов - движение по иерархии. Так что чудес не бывает... За всё приходится платить в том числе и за универсальность. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2005, 17:28 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=33043276&tid=1347729]: |
0ms |
get settings: |
7ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
60ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 248ms |
| total: | 396ms |

| 0 / 0 |
