Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
Помог: 53 раз(а)
neolinux пишет:
пять существующих функций работы с массивом не сложно запомнить
1 эм, простенький класс-модель у меня имеет 2-3 десятка методов! это стоит учесть,
2 а вот сколько времени у вас уходит на набор полного названия методов? я юзаю иде, набор очень ускорился
3 одна из главных вещей в ООП, это инкапсуляция, вкурсе что это?
глобальная видимость данных это мега дыра в проекте, и когда вы будете искать где и почему у вас баг, очень сильно задолбетесь!!!
DelphinPRO
Отправлено: 07 Декабря, 2013 - 00:53:23
Активный участник
Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012
Помог: 353 раз(а)
в какой-то CMS я видел подобное УГ...
Главное, я не могу уловить смысла всего этого..
И как минимум есть одна серьезная причина, по которой я не буду использовать подобное "ооп" - все ключи нужно помнить, лиюо лазать в документацию, вместо того, чтобы просто нажать CTRL + SPACE в IDE
----- Чем больше узнаю, тем больше я не знаю.
neolinux
Отправлено: 07 Декабря, 2013 - 08:17:27
Новичок
Покинул форум
Сообщений всего: 26
Дата рег-ции: Дек. 2013
Помог: 0 раз(а)
DlTA пишет:
инкапсуляция
- насколько понимаю, исключение прямого обращения к переменным? Прочтите, пожалуйста, сообщение перед Вашим.
Цитата:
глобальная видимость данных это мега дыра в проекте, и когда вы будете искать где и почему у вас баг
- Вы не внимательно читали мои сообщения.
Цитата:
простенький класс-модель у меня имеет 2-3 десятка методов! это стоит учесть
Ваше право. И у меня такое возможно, но не хочу "напрягать" пользователей необходимостью длительного изучения мануалов. Впрочем, это выходит за рамки темы.
DlTA пишет:
а вот сколько времени у вас уходит на набор полного названия методов?
Примерно так же, как и в стандартном ООП.
DlTA пишет:
а вот сколько времени у вас уходит на набор полного названия методов? я юзаю иде, набор очень ускорился
DelphinPRO пишет:
И как минимум есть одна серьезная причина, по которой я не буду использовать подобное "ооп" - все ключи нужно помнить, лиюо лазать в документацию, вместо того, чтобы просто нажать CTRL + SPACE в IDE
IDE - это дополнительное приложение, предоставляющее сервис. В стандартном ООП все это отсутствует.
DelphinPRO пишет:
И как минимум есть одна серьезная причина, по которой я не буду использовать подобное "ооп"
Так я ведь не навязываю. Во первых, поделился, кому интересно. Во вторых, услышать конструктивные замечания такие, как:
DlTA пишет:
одна из главных вещей в ООП, это инкапсуляция, вкурсе что это?
DlTA пишет:
глобальная видимость данных это мега дыра в проекте
Интересные замечания, которые не исключает само ООП. Мне же пришла в голову мысль: объявлять статический массив в теле функции. Это должно полностью устранить возможность прямого обращения к массиву.
DeepVarvar
Отправлено: 07 Декабря, 2013 - 09:28:27
Активный участник
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Помог: 353 раз(а)
neolinux пишет:
объявлять статический массив в теле функции. Это должно полностью устранить возможность прямого обращения к массиву.
Да, устранит.
Зато будет новый гемор за необходимостью выделять новую память под "локальные" переменные каждый раз, при вызове этой ф-ции. Кроме того - весь набор значений этих переменных придется расчитывать заново.
Когда в объектном (а не объектовом) подходе существует возможность сохранить состояние процесса и обратиться к объекту в другом контексте (scope), чтобы получить от объекта некоторые данные или модифицировать их.
Да, я являюсь противником ООП, уточню, противником вот такого ООП (нативно):
Один приходит и начинает гнуть пальцы, мол я крутой прогер, у меня все в ООП.
Другой приходит и тоже пиписькой меряется, мол я без ООП ваще умею..
Это в обоих случаях похоже на:
Цитата:
Да я циркулярку знаю как свои три пальца!
Нельзя отказываться полностью от того или от другого.
А еще нужно понимать где юзать класы, а где функции.
Это есть совокупность инструментов для достижения конечной цели - работающего приложения.
Так что - вперед набивать шишки.
Нечего тут народ тролить.
Через год покажете что получилось.
Здесь будут инициализироваться дополнительные переменные?
DeepVarvar пишет:
Кроме того - весь набор значений этих переменных придется расчитывать заново
Если массив статический, зачем его вновь расчитывать в рамках одной страницы? (Добавление)
DeepVarvar пишет:
Когда кругом плодят объекты ради объектов
Да, конкретно в моей версии получается, объект ради объекта. Данные ведь нужно где-то хранить. Или массив не так эффективно распределяет память, как множество переменных?
p/s
Приведенный выше пример - лишь мысль по поводу использования.
tato
Отправлено: 10 Декабря, 2013 - 00:30:36
Посетитель
Покинул форум
Сообщений всего: 468
Дата рег-ции: Сент. 2011 Откуда: Владивосток
Помог: 8 раз(а)
ТС про Вас есть "поговорка": не читал, но осуждаю.
Да-да стак оверфлоу кишит вопросами перформанса array VS object. Там уже кучу тестов провели и знаете кричать "О, боже! Если сделать 1000 итераций, то ООП код отрабатывает на 0.001 сек дольше! ООП - шлак! Хватайте факелы и вилы!"
короче глупо это.
----- просто ?: сложно
Stierus
Отправлено: 10 Декабря, 2013 - 16:32:44
Рекордсмен по количеству сообщений за 7 дней
Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008 Откуда: Москваль
execution time: 0.0088150501251221
mem usage: 3881080
Много это или мало, каждый решит бля себя сам. Касательно вашего кода - главное, что бы вам было удобно. Я не очень люблю разбираться в коде, устроенном на глобальных переменных (а у вас, по сути, есть одно глобальное пространство с функциями и данными, в котором все как-то варится и меняется)
neolinux
Отправлено: 10 Декабря, 2013 - 16:52:48
Новичок
Покинул форум
Сообщений всего: 26
Дата рег-ции: Дек. 2013
Помог: 0 раз(а)
Stierus пишет:
Много это или мало, каждый решит бля себя сам. Касательно вашего кода - главное, что бы вам было удобно
Вполне согласен. Погорячился. Правильно сказать, предложенное мною не замена ООП, а альтернатива, его применения не исключающая. Что касается ресурсов:
задумался об организации прикмственности и представил сколько ресурсов это "сожрет". Но ведь и сам PHP работает на тех же нулях и единицах. Пусть и более эффективно, но эта приемственность и там ресурсы "жрет"...
Stierus
Отправлено: 10 Декабря, 2013 - 17:02:11
Рекордсмен по количеству сообщений за 7 дней
Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008 Откуда: Москваль
Помог: 52 раз(а)
neolinux, пытаясь экономить ресурсы, создавая схемы вроде вашей, вы можете проиграть по ресурсам Потому что то, что в php написано на си с учетом всех фишек zendMachine и подо что оптимизирован Zval, вы заменяете написанным на php кодом, используя медленные массивы. Глядя на ваш код, возникают вопросы вида: "почему не используются http://www.php.net/manual/ru/cla...plfixedarray.php где это возможно", "сколько памяти будут жрать ваши приложения, если абсолютно все чистится лишь при завершении скрипта, в то время как работая нормально, большая часть кода внутри функций, где переменные локальны и очищаются сразу после выхода из нее" и тд? Другими словами, пишите что бы было удобно, не старайтесь сделать быстрее, вам это врят ли удастся сейчас, а вот когда будут знания и опыт - тогда вперед на штурм баррикад
neolinux
Отправлено: 10 Декабря, 2013 - 19:36:10
Новичок
Покинул форум
Сообщений всего: 26
Дата рег-ции: Дек. 2013
Помог: 0 раз(а)
Stierus пишет:
пытаясь экономить ресурсы, создавая схемы вроде вашей, вы можете проиграть по ресурсам
или удастся сэкономить? Смотря что и как делать. Я же сказал, никакой наследственности. И потом, мне просто нравится выражение иерархии яваскрипт "patch.config". А "заглянуть не только к родителю, но и соседу и само приложение может.
Если имена заменить индексами, тогда точно жопа начнется.
Stierus пишет:
Другими словами, пишите что бы было удобно, не старайтесь сделать быстрее
В том-то и дело, что мне это удобно. Взгляните, как все это описано. Мне кажется, достаточно четкая явно выраженная структура. Если сравнить с компьютером, это системная шина, куда подключаются все скрипты. Так что, ваши нападки напрасны, Америки я не открывап))).
Stierus пишет:
а вот когда будут знания и опыт
И это... Пожалуйста, не нужно учить отца... жизни
alexiy
Отправлено: 10 Декабря, 2013 - 20:49:47
Посетитель
Покинул форум
Сообщений всего: 483
Дата рег-ции: Янв. 2011
Помог: 6 раз(а)
neolinux пишет:
И это... Пожалуйста, не нужно учить отца... жизни
так чего Вы тогда ожидаете от своей темы? я так понял, Вы поделились своей идеей и хотели услышать разного рода отзывы, Вы их получили и говорите не учить отца...
neolinux
Отправлено: 10 Декабря, 2013 - 21:23:33
Новичок
Покинул форум
Сообщений всего: 26
Дата рег-ции: Дек. 2013
Помог: 0 раз(а)
alexiy пишет:
neolinux пишет:
И это... Пожалуйста, не нужно учить отца... жизни
так чего Вы тогда ожидаете от своей темы? я так понял, Вы поделились своей идеей и хотели услышать разного рода отзывы, Вы их получили и говорите не учить отца...
злые вы какие-то.
из двух станиц хлама нашел несколько дельных высказываний, которые помогли мне найти дополнительную реализацию массива.
спасибо большое всем участникам форума
caballero
Отправлено: 10 Декабря, 2013 - 21:34:06
Активный участник
Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011 Откуда: Харьков
Помог: 126 раз(а)
дельное предложение тут только одно - выкинуть фтопку эту "альтернативу" ООП
Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008 Откуда: Москваль
Помог: 52 раз(а)
Цитата:
Всего пару лет назад впервые познакомился с ООП... и сразу отказался.
Цитата:
Но вы правы, при недостатке опыта я не могу заглянуть вперед и приходится переделывать.
Цитата:
И это... Пожалуйста, не нужно учить отца... жизни
До отца вам довольно далеко еще, но в этой теме писать перестаю, удачи вам с вашей идеей.
tato
Отправлено: 11 Декабря, 2013 - 10:16:51
Посетитель
Покинул форум
Сообщений всего: 468
Дата рег-ции: Сент. 2011 Откуда: Владивосток
Помог: 8 раз(а)
neolinux пишет:
или удастся сэкономить?
Да хватит уже про скорость. Это не довод, Вы все равно не сделаете лучше если только на си не начнете писать. пример vk.com у них свой PHP(KPHP), как думаете почему они его написали? Почему не сделали массивами?
При их нагрузках можно говорить про оптимизацию перформанса, только вот решения совсем другие. В вашем случае усилия не стоят результата, в итоге получаем больше геммороя.
Возьмите и осильте наконец фреймворк какой-нибудь и не занимайтесь ерундой.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.