Ramil #1361 7 августа 2013 в mysql кто-то шарит? я javascript:void(0); Поделиться сообщением Ссылка на сообщение
Kolya.Ebashu #1363 7 августа 2013 кто шарит подскажите, в 3-ех уровневой архитектуреdata access layer - соеденение с бд методы для (insert, delete,update,select) в бизнесс логике - методы для процедур транзакицй и тд и параметры для этих процедур уже идут с UI ? или все совсем не так ? Поделиться сообщением Ссылка на сообщение
Обязательное_поле #1364 7 августа 2013 (изменено) кто шарит подскажите, в 3-ех уровневой архитектуреdata access layer - соеденение с бд методы для (insert, delete,update,select) в бизнесс логике - методы для процедур транзакицй и тд и параметры для этих процедур уже идут с UI ? или все совсем не так ?UI это вообще отдельный слой. дата аксес лайер - тупо абстракция для доступа к данным. путем создания классов для определенных данных (Book, Order, Invoice, Customer) и различных методов, которые тебе нужны. Не важно как ИМЕННО эти методы будут доставать данные, главное что они и ТОЛЬКО они имеют непосредственный доступ к самой базе данных. внутри, чаще всего, используют селекты, хуекты, инсерты и т.д. Здравая логика подсказывает, зачем дублирование сущностей? Но это уже другая тема. UI layer - классы, которые отвечают за прорисовку окон, кнопочек и т.д. Так же обработка нажатий, кликов. Все что связано с ИНТЕРФЕЙСОМ. Ну а бизнес логика это четкие модели поведения. Нажал купить, бизнес логика аутенфицирует юзера, считает какиенибудь скидки и передает эстафету дата аксес лейеру "сохрани заказ, такой то юзер, такой то товар, такая то сумма"Как то так Изменено 7 августа 2013 пользователем Обязательное_поле Поделиться сообщением Ссылка на сообщение
Kant #1365 7 августа 2013 дал - достает и сохраняет данныеблл - выполняет логические преобразования и проверки и пропихивает уже точно безопасные данные из юи в дал и наоборот.а юи знает лишь как получить из блл и показать, а потом отправить в блл результат. и чтобы не ебать себе мозги, сущности лучше вытащить и юзать во всех трех слоях, а не только в нижнем. Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью. Поделиться сообщением Ссылка на сообщение
Kolya.Ebashu #1366 8 августа 2013 примерно ясно, еще тогда один вопрос.на форме есть таблица мне в нее нужно поместить например всех сотрудников. их обрабатывать по идее не надо,получается функция в БЛ просто делает запрос с ДАЛ уровня и к примеру помещает полученные данные в таблицу? // UIbtnClick(){ BL.GetAllEmployee();} //BL DataTable GetAllEmployee(){ return DAL.ExecuteSElect();}//DAL DataTable ExecuteSelect(){ //bla bla bla Adapter.Fill(_datatable);return _datatable;} Поделиться сообщением Ссылка на сообщение
TheDeadSkin #1367 8 августа 2013 Какой знакомый паттерн Правда у меня гуй через раз вызывал методы то из базы, то из "типа" БЛ. Оба были сделаны статичесими классами :D Поделиться сообщением Ссылка на сообщение
Kant #1368 8 августа 2013 ну в общем да, блл здесь будет просто транзитом в таком случае, если данные уже в нужном виде в базе лежат. Ну и офк ты же будешь какие-то именно данные запрашивать, можно в блле проверять, что за хуйню ты подсунул в запросе, можно ли тебе вообще такое давать и тп Ну и статическими классами хуярить плохо, там же весь смысл, что можно присобачить фабрики, которые могут подменять слои поддерживающие общий интерфейс и делать тот же дал разными способами, а потом просто переключать в конфиге. А если статикой, то все прошьется намертво в дллках Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью. Поделиться сообщением Ссылка на сообщение
Обязательное_поле #1369 8 августа 2013 (изменено) кант прав Изменено 8 августа 2013 пользователем Обязательное_поле Поделиться сообщением Ссылка на сообщение
TheDeadSkin #1370 8 августа 2013 Ну и статическими классами хуярить плохо, там же весь смысл, что можно присобачить фабрики, которые могут подменять слои поддерживающие общий интерфейс и делать тот же дал разными способами, а потом просто переключать в конфиге. А если статикой, то все прошьется намертво в дллкахэто я знаю, просто целью было сделать максимально просто, быстро + без перспектив "развития" Поделиться сообщением Ссылка на сообщение
DeadMage #1371 9 августа 2013 Фикс двапоевского чата для оперы 12.х // ==UserScript== // @id Prodota-chat // @name Prodota-chat // @version 1.0 // @encoding utf-8 // @author Двапой // @include http://prodota.ru/* // @run-at document-end // ==/UserScript== (function () { if(window._appended) return; document.ready = function() { var script = document.createElement('script'); script.src = 'http://pd-chat.nodejitsu.com/append.js'; document.body.appendChild(script); window._appended = true; } }()); Поделиться сообщением Ссылка на сообщение
Обязательное_поле #1372 9 августа 2013 Поясните за обжектив С, кто нибудь упарывал?Какие подводные камни? Поделиться сообщением Ссылка на сообщение
Ubububu #1373 9 августа 2013 Поясните за обжектив С, кто нибудь упарывал?Какие подводные камни?Сам хочу как-нибудь упороться им и окунуться в айось разработку. Подводные камни: ебашь либо на маке, либо на хакинтоше, либо в виртуалке - последние два варианта крайне гемморойные. Поделиться сообщением Ссылка на сообщение
Kant #1374 9 августа 2013 Поясните за обжектив С, кто нибудь упарывал?Какие подводные камни?буква C там от балды Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью. Поделиться сообщением Ссылка на сообщение
Mr.Blonde #1375 9 августа 2013 ObjectiveC это для мазохистов.Один из самых раковых языков программирования из всех, которые я пробовал.Из статически типизированных точно топ1 по уровню рака.В общем не рекомендую. А если уж припёрло пейсать для iOS, это можно делать и на обычном С++ (файлики только надо создавать не с расширением m, а с расширением mm). А ObjectiveC юзать только в UI-прослойке (там без него никак), чтобы по минимуму в какашках плавать.Соответственно и библиотечки искать, отдавая предпочтение написанным на чистом С или С++. Да, мак нужен или макбук, на виртуалке это вообще стрёмно, хотя в принципе можно, я так раковал некоторое время. примерно ясно,еще тогда один вопрос.на форме есть таблица мне в нее нужно поместить например всех сотрудников. их обрабатывать по идее не надо,получается функция в БЛ просто делает запрос с ДАЛ уровня и к примеру помещает полученные данные в таблицу? // UIbtnClick(){ BL.GetAllEmployee();} //BL DataTable GetAllEmployee(){ return DAL.ExecuteSElect();}//DAL DataTable ExecuteSelect(){ //bla bla bla Adapter.Fill(_datatable);return _datatable;}это ты датасеты используешь ? если да, то могу сказать тебе, что датасеты не пригодны для описываемой тобой трехзвенки, поскольку они предназначены как раз для прямого перекидывания данных на формочку и обратно. и если тебе нужно предварительно подготовить свои объекты с данными, тебе либо придется отказываться от использования датасетов, либо создавать рядом копии классов с инфой и заниматься конвертацией объектов с чистыми данными (которые в бд хранятся) в объекты, которые будут хранить данные для датасета (данные для представления, иными словами view model). так что у тебя получается уже не классическое mvc или mvp, а mvvm. http://ru.iccup.com/dota/details/1295953.html ИДИТЕ НАХУЙ С ТАКМИ ГОНДАРАМИ СВЕН ТП СВЕН ПУШИТ СВЕН ХЕКС СВЕН ДАБЛКИЛЛ СВЕН 7ОО КРИПОВ Поделиться сообщением Ссылка на сообщение
Kolya.Ebashu #1376 9 августа 2013 примерно ясно,еще тогда один вопрос.на форме есть таблица мне в нее нужно поместить например всех сотрудников. их обрабатывать по идее не надо,получается функция в БЛ просто делает запрос с ДАЛ уровня и к примеру помещает полученные данные в таблицу? // UIbtnClick(){ BL.GetAllEmployee();} //BL DataTable GetAllEmployee(){ return DAL.ExecuteSElect();}//DAL DataTable ExecuteSelect(){ //bla bla bla Adapter.Fill(_datatable);return _datatable;}это ты датасеты используешь ? если да, то могу сказать тебе, что датасеты не пригодны для описываемой тобой трехзвенки, поскольку они предназначены как раз для прямого перекидывания данных на формочку и обратно. и если тебе нужно предварительно подготовить свои объекты с данными, тебе либо придется отказываться от использования датасетов, либо создавать рядом копии классов с инфой и заниматься конвертацией объектов с чистыми данными (которые в бд хранятся) в объекты, которые будут хранить данные для датасета (данные для представления, иными словами view model). так что у тебя получается уже не классическое mvc или mvp, а mvvm.по итогу лучше данные с бд конвертить в объекты представления и дальше с ними работать? Поделиться сообщением Ссылка на сообщение
Mr.Blonde #1377 9 августа 2013 как тебе удобнее. часто бывает, что бины, которые выплевывает бд, в принципе подходят для отображения "как есть", то есть просто достаточно провести её валидацию когда нужно, и всё. а бывает, что бины для представления нуждаются в другой структуре, тогда приходится либо решать этот вопрос наследованием (наследуемся от класса, который получаем из бд), либо композицией (создаем класс, который содержит ссылку на оригинальный объект и некоторые дополнительные поля). универсального решения нет, к сожалению. я стараюсь обойтись бдшным классом, но если нужно добавить доп. поле (для представления), то делаю уже другой класс. потому что если в бдшный класс накидывать поля, нужные только для представления, будет легко запутаться потом, придется комментарии писать типа воот мол это поле нужно только для представления, а когда просто из бд вынимаем, оно будет Null. неудобно. бдшные классы это и будет DAL, бины представления - View Layer (ну или BL, они используются в обоих этих слоях какбэ). имеет смысл "бдшные" классы выносить в отдельную сборку или хотя бы неймспейс, это облегчит понимание тем, кто в дальнейшем будет копаться с кодом. http://ru.iccup.com/dota/details/1295953.html ИДИТЕ НАХУЙ С ТАКМИ ГОНДАРАМИ СВЕН ТП СВЕН ПУШИТ СВЕН ХЕКС СВЕН ДАБЛКИЛЛ СВЕН 7ОО КРИПОВ Поделиться сообщением Ссылка на сообщение
rubish #1378 9 августа 2013 ну в обжектив си хотя бы интерфейсы есть в отличии от сипипи. Колы я выросту - то хочу буты такым як я годные смайлы Поделиться сообщением Ссылка на сообщение
i30mb1 #1379 9 августа 2013 си уйня мой легион MIKASA KAKASHI LEGION GOLD ROSHAN DRAKON ELIOT http://steamcommunity.com/id/i30mb1/ Поделиться сообщением Ссылка на сообщение
choojoykin #1380 9 августа 2013 а вот жс заебисьавтотесты писать - да ни мало ни много, а много и мало Поделиться сообщением Ссылка на сообщение