Форум программистов, компьютерный форум CyberForum.ru

обновление времени в програме. патерн Наблюдатель - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ бусконечный цикл http://www.cyberforum.ru/cpp-beginners/thread933483.html
при вставке потомка корня возникает бесконечный цикл. в чем проблема #include<iostream> /* 1. Каждый узел является красным или черным. 2. Корень дерева является черным. 3. Каждый лист дерева (nil) является черным. 4. Если узел — красный, то оба его дочерних узла — черные. 5. Для каждого узла все пути от него до листьев, являющихся потомками данного узла, содержат одно и то же...
C++ Когда приступать к практическому применению С++? Всем привет! Долго читаю данный форум, много интересного и полезного! Где то месяц назад начал учить с++ , по учебникам. Вернее пока по одному учебнику =) Там много примеров использования разных функций и т.д. Все это скурпулезно разбираю и не перехожу к другой теме , пока не пойму , то что описано и как работает программа. Но последнее время думаю, надо же что то самому придумывать , что то... http://www.cyberforum.ru/cpp-beginners/thread933449.html
String и русский язык C++
Доброго времени суток! Мой вопрос скорее всего задавался, но всё же как с клавиатуры ввести в string строку на русском, а затем вывести её на экран? Например, если собрать этот код #include <iostream> #include <clocale> #include <cstdlib> #include <string> int main(){ using namespace std; setlocale(LC_ALL,"RUS");
Пространство имен C++
Я часто встречаю в книгах, туторах, что объявлять пространство имен в больших проектах нельзя(не рекомендуемо), но нигде не сказано почему... Подскажите вы хоть, пожалуйста. :)
C++ Мотивация http://www.cyberforum.ru/cpp-beginners/thread933426.html
Привет. Вот я С++ учю уже почти два (без 3 месяцев) года, начал с самого нуля, до этого не знал толком ничего. Решал в основном, убогие задачки, нормального проэкта не было. Знаком с стандартной библиотекой, ну и ООП, Шаблоны, СТЛ (знаю, что она и есть стандартная биб), и.т.д., не то что классно, но представление имею. Еще .NET немного. И MFC немного (но его уже подзабыл). Понимаю, что для такого...
C++ ПОЛИЗ struct stack{ char key; stack * next; }; void pushStack(stack*&Head,char Key) { stack *q=new stack; if(q){ q->next=NULL; q->key=Key; подробнее

Показать сообщение отдельно
Kuzia domovenok
1889 / 1744 / 117
Регистрация: 25.03.2012
Сообщений: 5,917
Записей в блоге: 1
04.08.2013, 23:20     обновление времени в програме. патерн Наблюдатель
Ох уж эти паттерны! Не, я обеими руками за, конечно, но 400 строк кода из-за какой-то фигни! Может в составе проекта это ещё удобно листать, но не так.
Пока всё не прочитал, но уже вижу. Вот зачем использовать std::vector для хранения указателей-наблюдателей в субъекте?
Какие преимущества вектора перед списком использованы в программе? - никаких. А список, в отличие от вектора, позволил бы быстро вставлять/удалять новых наблюдателей.

Что за путанная иерархия классов?
Сам наблюдатель не хранит указателя на субъект, а наследники наблюдателя хранят каждый по такому указателю.
Это как вообще? Наследники могут иметь этот *subject, а могут и не иметь? смысл наследования тогда?

И вообще в целом не ясно, кто на кого хранит указатели. Такое впечатление, что все на всех. Наблюдатели следят за субъектами и субъекты также следят за наблюдателями? Это зачем им? Моё мнение, что двусторонние такие связи не желательны.

Добавлено через 9 минут
Кстати, эти непонятки с наследованием и есть причина раздутости кода на 400 строк! Все методы, связанные с работой паттернов, добавлением/удалением наблюдателей должны быть ВЫНЕСЕНЫ в родителя. Смотри, разница между AnalogClock и DigitalClock только в разных способах рисования.
Тогда зачем ВЕСЬ ОСТАЛЬНОЙ КОД В НИХ ДУБЛИРУЕТСЯ? В этом коде присутствует только работа с паттерном наблюдатель, а эта функциональность у всех наблюдателей одинакова!!
Казалось бы, зачем нужны паттерны? Разве не для того, чтобы не дублировать один и тот же код?

А в остальном молодец. Почему не обновляется время? Ну... надо ещё немного полистать этого гиганта.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru