Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
Страницы: (8) « Первая ... 4 5 [6] 7 8  ( Перейти к первому непрочитанному сообщению )  
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Мой DI контейнер
chee  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Сын полка
Сообщений: 1780
Пользователь №: 38654
На форуме: 2 года, 11 месяцев, 4 дня
Карма: 40




Цитата (twin @ 12.04.2016 - 20:36)
Но принцип тот же. Метаданные есть? Есть. Конструкторов нет? Нет. Второй объект создать нельзя, так же как у тебя. А зависимости подменить можно? Можно. В чем отличие

1. Структура метаданных усложнена;
2. Нету циклического заполнения зависимостей;
3. Хоть у меня в контейнере и невозможно создать разные экземпляры, но за пределами с помощью клонирование, второй экземпляр класс получить можно.


--------------------
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации

Мой блог
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 15562
Пользователь №: 6543
На форуме: 8 лет, 2 месяца, 4 дня
Карма: 299

Трезвый :
5 лет, 11 месяцев, 14 дней


Цитата (chee @ 12.04.2016 - 17:33)
Структура метаданных усложнена;

Разве? Один в один как у тебя делал:
$container = new Cheevauva\Container(array(
'App\Field\StringField' => array(
'someDependency' => 'App\SomeClass',
),

'App\FieldFactory' => array(
'container' => 'Cheevauva\Container',
),
));
Синтаксис не тот, а структура та же, помоему. У меня алиасы просто, но можно и без них сделать. Это не суть.
Цитата (chee @ 12.04.2016 - 17:33)
Нету циклического заполнения зависимостей;

Как нету? А это что:
        foreach($dependency as $property => $value)
{
$class::$$property = $value;
}
Или что ты ввиду имеешь?
Цитата (chee @ 12.04.2016 - 17:33)
Хоть у меня в контейнере и невозможно создать разные экземпляры, но за пределами с помощью клонирование, второй экземпляр класс получить можно.

Ну так это оверинжениринг и есть. Да и за пределами не считается. Я вот тоже могу за пределами всё что хочешь сэмулировать. Хоть клонирование, хоть черта лысого. Тут про сам контейнер речь.

Да и не важно, это просто карикатура. Чтобы было понятнео, что один объект без конструктора, это почти статический класс.

Мне про конструкторы больше интересно. Чего ты на них так обиделся?


--------------------
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Зачем ворошить старое, когда можно наворотить новое?

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 15562
Пользователь №: 6543
На форуме: 8 лет, 2 месяца, 4 дня
Карма: 299

Трезвый :
5 лет, 11 месяцев, 14 дней


Цитата (chee @ 12.04.2016 - 17:25)
Чё?

Я не злопамятный, но я злой, и память у меня хорошая. laugh.gif laugh.gif
Ты лично мне несколько раз говорил, что строишь свою CMS по канонам ООП. И постоянно тут её в пример людям приводишь. Теперь программиста своего по такому же принципу учишь. Вот я и говорю - не каноны это вовсе никакие. И никакие не новейшие это технологии. Просто твоё видение, не более того. И скажем так, если копнуть, то ничего хорошего в твоем подходе пока не видно.


--------------------
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Зачем ворошить старое, когда можно наворотить новое?

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
chee  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Сын полка
Сообщений: 1780
Пользователь №: 38654
На форуме: 2 года, 11 месяцев, 4 дня
Карма: 40




Цитата (twin @ 12.04.2016 - 21:44)
Ну так это оверинжениринг и есть. Да и за пределами не считается. Я вот тоже могу за пределами всё что хочешь сэмулировать. Хоть клонирование, хоть черта лысого. Тут про сам контейнер речь.

Уже не актуально, сейчас get у меня отдает не shared объекты. Он готовит эти объекты как shared, но потом просто из хранилища их удаляет. Спасибо bestxp за хороший довод о клонирование объектов.

Также обновил у себя в системе контейнер. Кстати, я думал, что память просядет, а фиг там, потребление наоборот упало (незначительно). Хотя может всё потому, что я веду разработку под версией php7


--------------------
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации

Мой блог
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
chee  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Сын полка
Сообщений: 1780
Пользователь №: 38654
На форуме: 2 года, 11 месяцев, 4 дня
Карма: 40




Цитата (twin @ 12.04.2016 - 21:44)
Синтаксис не тот, а структура та же, помоему. У меня алиасы просто, но можно и без них сделать. Это не суть.

Вообще-то на формат конфигов делается акцент, там не должно быть алиасов. Должен быть конкретный класс и описание свойств с конкретными зависимостями. То есть можно посмотреть на карту зависимостей и на название класса, и точно сказать в каком свойстве будет какая зависимость (тут я лукавлю, посредники же есть).

Цитата (twin @ 12.04.2016 - 21:44)
Или что ты ввиду имеешь?

Вот это я имею ввиду, то что если у зависимости есть свои зависимости, то зависимость настроит свои зависимости (короче рекурсивное построение зависимостей).

Цитата (twin @ 12.04.2016 - 21:44)
Мне про конструкторы больше интересно. Чего ты на них так обиделся?

Ну такой у меня опыт. Сколько код пишу, не вижу в них какой-то ну очень сильной надобности. Может это мои заблуждения и позже передумаю.

Цитата (twin @ 12.04.2016 - 21:44)
Чтобы было понятнео, что один объект без конструктора, это почти статический класс.

"почти" wink.gif

Цитата (twin @ 12.04.2016 - 21:50)
Ты лично мне несколько раз говорил, что строишь свою CMS по канонам ООП. И постоянно тут её в пример людям приводишь.

Да, она строится на основе принципов ООП и с использование шаблонов проектирования. Ссылки я даю на уже готовую реализацию нужных примеров, зачем мне расписывать пример, если уже есть мой проект в публичном доступе.


--------------------
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации

Мой блог
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 15562
Пользователь №: 6543
На форуме: 8 лет, 2 месяца, 4 дня
Карма: 299

Трезвый :
5 лет, 11 месяцев, 14 дней


Цитата (chee @ 12.04.2016 - 18:43)
Уже не актуально

Ну вот, уже интереснее. smile.gif
Цитата (chee @ 12.04.2016 - 18:54)
Ну такой у меня опыт. Сколько код пишу, не вижу в них какой-то ну очень сильной надобности. Может это мои заблуждения и позже передумаю.
Ну поделись опытом. Может наоборот, я передумаю. Не могу представить себе, чем они могут навредить. Как не пыжился. sad.gif
Цитата (chee @ 12.04.2016 - 18:54)
Да, она строится на основе принципов ООП и с использование шаблонов проектирования.
Ну а кто против то. Только если в программировании делать основной акцент на шаблоны, можно не заметить вот таких недоразумений, как с клонированием.

Я не про шаблоны, а про "правильность" твоего видения ООП говорю. Не бывает правильного ООП. Бывает только индивидуальное, по собственным правилам. И оно нифига никаких преимуществ не дает перед мультипарадигмой. Потому что по сути разницы нет: что там бардак, что тут - кто во что горазд. Главное алгоритмы не проморгать А квалификация программиста определяется не "знанием" ООП, а способностью в этом бардаке разобраться.



А шаблоны... Я писал уже про них целую статью. smile.gif Одними шаблонами сыт не будешь. И вот такое ещё может получиться:
Цитата
Суть в том, что часто паттерны используются чересчур активно. Известна история о программисте, который, прочитав в первый раз книгу Банды Четырех, ухитрился использовать 16 паттернов в 32 строчках кода.
(с) Фаулер.
Свернутый текст
Чет всё больше и больше он мне нравится. smile.gif


--------------------
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Зачем ворошить старое, когда можно наворотить новое?

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
waldicom  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 6204
Пользователь №: 5552
На форуме: 8 лет, 5 месяцев, 1 день
Карма: 162




Цитата (twin @ 13.04.2016 - 00:30)
Чет всё больше и больше он мне нравится. 

Кто нравится? Фаулер? Чё? ООП? Высоцкий?


--------------------
Свои мозги еще никто не отменял.
Телепатов нету.
PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Invis1ble  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме




******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 11787
Пользователь №: 23195
На форуме: 6 лет, 4 месяца, 14 дней
Карма: 429

Трезвый :
7 лет, 3 месяца, 14 дней


Цитата (waldicom @ 13.04.2016 - 03:44)
Кто нравится? Фаулер? Чё? ООП? Высоцкий?

контейнер smile.gif


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 15562
Пользователь №: 6543
На форуме: 8 лет, 2 месяца, 4 дня
Карма: 299

Трезвый :
5 лет, 11 месяцев, 14 дней


Фаулер, как зависимость для ООП. biggrin.gif
И не Высоцкий это, а Жиглов. А Высоцкий, это же шаблон "Flyweight". Ничего вы в ООП не смыслите. biggrin.gif biggrin.gif

И контейнер этот тоже больше нравится в свете последних событий. Так глядишь и доведет до ума. biggrin.gif


--------------------
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Зачем ворошить старое, когда можно наворотить новое?

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
chee  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Сын полка
Сообщений: 1780
Пользователь №: 38654
На форуме: 2 года, 11 месяцев, 4 дня
Карма: 40




Предыдущие изменения по работе с not shared объектами были через чур горячими и не продумаными с точки зрения концепции контейнера. Накатил новые изменения. Сейчас контейнер как и прежде возвражает shared объекты, но если при запросе объекта добавить в начале *, то вернется not shared объект.

$container->get('App\SomeObject'); // shared объект


$container->get('*App\SomeObject'); // not shared объект


Сделано это для того, что бы не менять текущую логику контейнера. В итоге доступна следущая плюшка

$container = new \Cheevauva\Container(array(
'Cheevauva\Test\Container\ExampleA2' => array(
'exampleA' => '*Cheevauva\Test\Container\ExampleA',
'exampleB' => '*Cheevauva\Test\Container\ExampleA',
)
);

/* @var $exampleA1 \Cheevauva\Test\Container\ExampleA */
$exampleA = $container->get('*Cheevauva\Test\Container\ExampleA2');
$exampleA->exampleA->test = new \stdClass;
empty($exampleA->exampleB->test); // true

Но с этим нужно быть осторожным, указываем у дочерней зависимости - родительскую, и всё - бесконечный цикл.


--------------------
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации

Мой блог
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 15562
Пользователь №: 6543
На форуме: 8 лет, 2 месяца, 4 дня
Карма: 299

Трезвый :
5 лет, 11 месяцев, 14 дней


Замечательно. Еще не лучше.

Вобщем то ты прав. Этот твой pet-проект хорошее учебное пособие. По нему хорошо учиться, как делать не надо. Я, в отличие от Ron'а, никогда не верю декларациям и всегда пытаюсь разобрать все, что возможно. И чего я раньше не обращал на него внимания...

Ты говоришь, что делаешь с использованием шаблонов проектирования. Хорошо. Но есть же и другие шаблоны - антипаттерны. И тут твоя система - хорошее пособие в их изучении. Вот только на одном контейнере сколько выясняется:

1. Ладно с публичными свойствами. Спорно. Но вот антипаттерн "объектная клоака" у тебя присутствовал, пока сей дебат не начался. Это касается клонирования в фабрике.

2. Полез эту фабрику смотреть. Там у тебя наследований куча, веревки целые. Вот модель допустим. Пользовательская. И иерархия:
Цитата
Factory->Alias->Model->userModel
Это уже можно приводить, как иллюстрцию к антипаттерну Yo-yo. Ну или как минимум "френкин-код". Потому и сложно твой код понять. А ты его в качестве обучающего материала... Нехорошо. smile.gif

3. Шаблон "фабрика", на сколько я понял, у тебя задействован для создания практически всех объектов системы. Раз они все в контейнере. А это уже выросли уши антипаттерна Gas Factory.

4. Использование метаданных для настройки зависимостей на грани фола с антиаттерном "мягкое кодирование". Я не берусь судить, но даже в этом топике я не одинок по этому поводу. Так что тоже показательно.

5. Ну и само то, что ты этот ущербный контейнер вытащил в паблик, да еще и с такой пафосной анотцией, это = антипатерн "золотой молоток"

Кроме того, на мой субъективный взгляд еще два: "ненужная сложность" и "дефакторинг" Это касается твоего последнего решения со звездочкой. Вместо нормального метода share(), который говорит сам за себя, ты вводишь новый синтаксис. Правда ты этот антипаттерн использовал наполовину. Доки то нет. biggrin.gif
Плюс паровозом "фактор невероятности". Это что касается бесконечного цикла.

И это только касаемо контейнера. Да там наверное просто кладезь знаний!

Не, ты не подумай, я не предъявляю. Я вообще очень предвзято отношусь к паттернам. Это известно. Но за учебное пособие реально спасибо. В теории не так просто понять антипаттерны. Сами паттерны куда проще.

Антипаттерны здесь.


--------------------
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Зачем ворошить старое, когда можно наворотить новое?

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
chee  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Сын полка
Сообщений: 1780
Пользователь №: 38654
На форуме: 2 года, 11 месяцев, 4 дня
Карма: 40




twin, ты сейчас занимаешься демагогией, подменяем мою CMS на Symfony, Laravel, Yii и получаем всё тоже самое. Мягкое кодирование, Gas Factory,Yo-yo problem и другие.

Цитата (twin @ 13.04.2016 - 11:20)
Полез эту фабрику смотреть. Там у тебя наследований куча, веревки целые.

Это единственный правильно замечаный антипаттерн. Но его уже нет, отрефаторил 4 дня назад.
Текущая ветка разработки - form, ты смотрел для examplecms.

Работу с фабриками (а точнее с получение компонентов из бандла) я недавно пересмотрел в сторону упрощения, перекинув всю ответственность в сам бандл, объеденив в нём все эти фабрки

И может, уже оффтоп с обливанием говном мой системы, вынесем в отдельную тему?


--------------------
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации

Мой блог
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 15562
Пользователь №: 6543
На форуме: 8 лет, 2 месяца, 4 дня
Карма: 299

Трезвый :
5 лет, 11 месяцев, 14 дней


Цитата (chee @ 13.04.2016 - 07:40)
twin, ты сейчас занимаешься демагогией, подменяем мою CMS на Symfony, Laravel, Yii и получаем всё тоже самое.
Почему демагогией... Ничего не тоже самое. Нет там таких кривых контейнеров.
Цитата (chee @ 13.04.2016 - 07:40)
И может, уже оффтоп с обливанием говном мой системы, вынесем в отдельную тему?

Так я только касаемо применения контейнера рассматривал. А где еще рассмотреть, как не в твоей системе. Ты вытащи еще чего-нибудь на обсуждение, тогда и будет отдельная тема. Целиком разбирать - много времени нужно на разбор твоей логики.

Да и не обливал я ничего говном. Как ты не поймешь, я на твоей стороне больше чем ты сам. Вот себя же процитирую:
Цитата
Это хорошие, добротные, проверенные тысячами программистов, шаблоны. Но они все носят рекомендательный характер. И совершенно не обязательны к исполнению. Иногда сознательное отступление от них вовсе не являются bad-practices.

Нравится так - делай. Кто посмеет запретить. Просто теперь я знаю, где показать иллюстрацию. smile.gif


--------------------
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Зачем ворошить старое, когда можно наворотить новое?

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
chee  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Сын полка
Сообщений: 1780
Пользователь №: 38654
На форуме: 2 года, 11 месяцев, 4 дня
Карма: 40




Короче, я тебя услышал и мне посрать, что ты думаешь.


--------------------
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации

Мой блог
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
[x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 15562
Пользователь №: 6543
На форуме: 8 лет, 2 месяца, 4 дня
Карма: 299

Трезвый :
5 лет, 11 месяцев, 14 дней


Цитата (chee @ 13.04.2016 - 07:40)
Это единственный правильно замечаный антипаттерн.

Хорошо. Давай первый разберем. Название красивое))) Он кстати до сих пор у тебя до сих пор присутствует по умолчанию.

По сути твой контейнер, это паттерн "пул объектов". В PHP его сложно применить, потому что тут принцип "отработал - умри". Однако ты умудрился не только применить, но и применить неправильно. Не важно, что объект инициализируется в момент обращения к нему. Важно, что все они собраны в хранилище объектов. Причем по принципу синглтона.

Вот для избежания этого антипаттерна Пимпл и использует callable и constructor dependency. А так же not shared по умолчанию. Там применить анитипаттерн можно только сознательно, а не по умолчанию.

Раз синглтон, значит ты сам нарушил закон пула
Цитата
После того, как объект возвращён, он должен вернуться в состояние, пригодное для дальнейшего использования. Если объекты после возвращения в пул оказываются в неправильном или неопределённом состоянии, такая конструкция называется объектной клоакой

Вот иллюстрация клоаки в твоем коде. Это же очевидно.
    $container = new Container(array(
'ExampleA' => array(
'exampleB' => 'ExampleB'
)
));



$objA = $container->get('ExampleA');
var_dump($objA->getStatus()); // true

// Здесь в процессе меняется состояние объекта

$objA->exampleB->status = false;

// Другой край географии. Я понятия не имею, где что творилось с объектом.
// Хочу из контейнера (пула) чистый объект, без состояния.

$objA = $container->get('ExampleA');
var_dump($objA->getStatus()); // И что? КЛОАКА!


И ты всех, кто привык работать по паттернам, считай подставил. Потому что твой контейнер один прет против общих правил. А он в паблике, так, на секундочку.

Цитата
Сделано это для того, что бы не менять текущую логику контейнера.

Кстати, еще один антипаттерн. Самый знаменитый: костыль. :D Ты решаешь проблему звездочкой, на месте, без редизайна.

Цитата (chee @ 13.04.2016 - 08:38)
Короче, я тебя услышал и мне посрать, что ты думаешь.

Да кому ты нужен. Я думаешь для тебя распинаюсь? Я для себя в первую очередь хочу уяснить. И люди послушают. Единственно только - мне жаль твоих подопечных. Они будут думать, что ты действительно гуру в ООП.


--------------------
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Зачем ворошить старое, когда можно наворотить новое?

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темыСтраницы: (8) « Первая ... 4 5 [6] 7 8  Ответ в темуСоздание новой темыСоздание опроса