- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

Тренды маркетинга в 2024 году: мобильные продажи, углубленная аналитика и ИИ
Экспертная оценка Адмитад
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
скажите пожалуйста зачем часто вместо статического класса(см.ниже) используется синглтон?
А где вы тут синглтон увидели?
скажите пожалуйста зачем часто вместо статического класса(см.ниже) используется синглтон?
class DB
{
private static $linkId;
public static function connect()
{
self::$linkId = mysql_connect('xxx', 'xxx', 'xxx');
mysql_select_db('xxx', self::$linkId));
return true;
}
}
1. Статичные классы медленнее.
2. Синглтон - это не просто вызов каких- то методов. Очень часто это полноценный объект, с геттерами/сеттерами, магическими методами и пр. плюшками.
3. Есть еще десяток причин (от стиля оформления до динамической генерации синглтона, когда объект создается на основе параметров конструктора).
Простейший синглтон - инстанс, а не то, что Вы привели выше ;)
здесь статический класс. синглтон понятно как выглядит.
в показанный класс тоже можно добавить магические методы и плюшки
2. Синглтон - это не просто вызов каких- то методов. Очень часто это полноценный объект, с геттерами/сеттерами, магическими методами и пр. плюшками.
Синглтон - это шаблон проектирования, который позволяет гарантировать, что в скрипте будет лишь один объект определенного класса. Реализуется обычно закрытием метода __construct() и реализации статического метода типа Get_Instance() который возвращает единственный экземпляр класса. Этот экземпляр хранится в статическом свойстве класса.
В примере выше просто объявили статический метод для подключения к базе данных и статическое свойство с идентификатором подключения. Вот и все.
Синглтон - это шаблон проектирования, который позволяет гарантировать, что в скрипте будет лишь один объект определенного класса. Реализуется обычно закрытием метода __construct() и реализации статического метода типа Get_Instance() который возвращает единственный экземпляр класса. Этот экземпляр хранится в статическом свойстве класса.
В примере выше просто объявили статический метод для подключения к базе данных и статическое свойство с идентификатором подключения. Вот и все.
но результат будет тот же самый - возможность существования только одного подключения
в показанный класс тоже можно добавить магические методы и плюшки
добавить не значит полноценно с ними работать.
но результат будет тот же самый - возможность существования только одного подключения
Стаические методы и переменные - это вроде как пространство имен. Синглтон же полноценный класс со всеми вытекающими... Синглтон имеет несколько преимуществ перед статикой. К примеру: наследование, магич. функции и передача синглтона как параметра для функции и т.п.
А можно ссылку на информацию, что статические классы медленней, чем синглтоны.
но результат будет тот же самый - возможность существования только одного подключения
Подключение в один момент действительно будет одно. Объектов класса может быть много.
Стаические методы и переменные - это вроде как пространство имен.
Это статические методы и переменные. Не больше, ни меньше.
Синглтон же полноценный класс со всеми вытекающими...
Синглтон - это не класс. Это шаблон разработки.
но результат будет тот же самый - возможность существования только одного подключения
http://habrahabr.ru/blogs/refactoring/103681/ - хороший материал, чтобы понять разницу.
aktuba добавил 05.07.2011 в 15:12
А можно ссылку на информацию, что статические классы медленней, чем синглтоны.
К сожалению, не храню результаты тестов. Но я думаю, любой сможет сам это сделать: написать 2 класса и в цикле использовать их.