![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 27.10.2012
Сообщений: 4
|
![]()
Доброго времени суток!
Немноженько предыстории...Потребовалось написать менеджер контактов (добавление, удаление, изменение контактов...плюс авторизация). Все это надо писать на PHP - исключительно ООП подход, и использовать JS (например для валидации форм). Сам проект прикреплен. Прошу, если будите смотреть, не обращать внимание на корректную работу всех функций и тд тп - это все будет переписываться. Главное логика построения приложения. Так вот, у меня возникли трудности построения логики приложения в ООП формате, ибо не хватает опыта. Получился процедурный подход, наполовину обернутый в классы. И к примеру: 1. После авторизации пользователя "повесил" на сессию. И что бы понимать авторизовался пользователь или нет в index.php засунул следующие: PHP код:
2. Ну или к примеру, для выводе информации о контакте, обрабатываю его AJAX+jQuery, а скрипт обработки простой файлик с несколькими строчкам кода. Не класс вообщем, и это помоему тоже не правильно (хотя там и создаются объекты и тд...) Это были примеры...а вообщем весь проект такой кривой. Подскажите как мне построить это приложение, так что бы оно было действительно в стиле ООП?И Если ко то знает конкретный учебник, буду благодарен. Но так же скажу, что проект надо сдать в ближайшее время поэтому учебник прочитать не успею, но сделать надо хоть как то, кривизну надо выровнять)). Думаю все когда то были в таком положении). А и да, фреймворк применять нельзя) |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 31.05.2010
Сообщений: 3,301
|
![]() |
![]() |
![]() |
![]() |
#3 | |
Новичок
Джуниор
Регистрация: 27.10.2012
Сообщений: 4
|
![]() Цитата:
Я знаю что такое классы, наследование, полиморфизм, инкапсуляция, интерфейсы, магические методы и что там еще написано....я умею с ними обращаться. По крайней мере если еще раз прочитаю ВВЕДЕНИЕ В ООП, знаний не прибавиться. За помощь спасибо, но вы читали что я писал выше? Строя приложения я постоянно вылазию за пределы класса, и некоторые вычисления проводятся вне класса - этого не должно быть. Вот я и прошу посоветывать мне схему приложения, или учебник где такие схемы описываются, но ни как не основы ООП. |
|
![]() |
![]() |
![]() |
#4 | |
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,692
|
![]()
Разве не прокатывает?:
Код:
Цитата:
Или проще на листочке начертите. Разбейте всю систему на отдельный кусочки, которые взаимодействует друг с другом, попробуйте проложить пути этих взаимодействий от начала и до конца с разными входными параметрами. Этих путей может быть несколько, также как и выходов. Ну и каждый кусочек постепенно прорабатываете более детально, разбивайте на еще более мелкие если требуется. И на забывайте, что каждый блок есть набор классов/класс/метод. Как-то так. http://ru.wikipedia.org/wiki/UML |
|
![]() |
![]() |
![]() |
#5 |
Новичок
Джуниор
Регистрация: 27.10.2012
Сообщений: 4
|
![]()
Приложил картику...вообщем не получается у меня объяснить, что у меня не получается))) - вот такая тавтология.
Как связать классы, то бишь что какой класс делает и какие данные принимает у меня проблемы не вызывает. Мне, что ли нужно свой мини фреймфорк написать, но не фореворк, а вроде как экосистему ООП в проекте....щас перечитал бредятина какая то, но блин уже не знаю что и уточнить в вопросе. Строка PHP код:
Вот например мне надо будет расширять приложение, это будет весьма проблематичное задача, если оставить все как есть. Это я могу понять, а вот как эот исправить придумать не могу. |
![]() |
![]() |
![]() |
#6 | ||
Старожил
Регистрация: 31.05.2010
Сообщений: 3,301
|
![]() Цитата:
![]() Нет абсолютного рецепта/схемы – всё индивидуально и зависит от требуемого функционала и задач приложения. Все попытки это дело обобщить заканчиваются созданием CMF/фрейфорков(мини-, микро- и т.п) – что требует немало времени. Цитата:
И то же самое с обработчиками форм, с выводом информации. Нужно сделать в ООП-style – так создавай требуемые для твоих задач классы, выноси в них имеющийся процедурный функционал... Тут никакой схемы не нужно – достаточно простого понимания задач приложения и основных принципов его работы. Не вижу в этом никаких проблем для человека, знающего и понимающего основы ООП. |
||
![]() |
![]() |
![]() |
#7 | |
Новичок
Джуниор
Регистрация: 27.10.2012
Сообщений: 4
|
![]() Цитата:
Я же сам написал код, и спросил конкретно КАК СДЕЛАТЬ что бы получилось? вместо этого шлют основы ООП читать. Ваш ответ наиболее конструктивен...ладно я уже решил как делать буду, тему можно закрывать. |
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Delphi mysql trigger - как правильно писать? Прошу пример | iskurt | Помощь студентам | 7 | 03.06.2012 19:03 |
Ребята как правильно на писать блок-схему по данному листингу программы(просто очень надо, а у меня не получается) | denl9 | Общие вопросы Delphi | 1 | 08.05.2012 22:05 |
как код писать? | yebath | Visual C++ | 3 | 28.05.2011 02:09 |
как правильно писать модули для билдера | CodeNOT | Общие вопросы C/C++ | 2 | 27.12.2010 19:12 |
Как правильно запретить писать в комбо-боксе. А только выбирать? | TwiX | Общие вопросы Delphi | 2 | 02.06.2010 01:34 |