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

Гибкая архитектура и порождающие паттерны - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Умножение матриц http://www.cyberforum.ru/cpp-beginners/thread964424.html
Я юзаю Qt, но пишу сюда т.к. он никак не влияет на код (почти) У меня есть две матрицы A и B (размерность обеих 800х800). Чтобы получить матрицу AB я делаю: for(int i = 0; i < 800; i++){ for(int j = 0; j < 800; j++){ for(int m = 0; m < 800; m++){ AB += A*B; } } }
C++ Среднее значение Нужно посчитать среднее значение всех элементов стека. Но результат всегда ноль. Помогите пожалуйста! #include <stdio.h> #include <conio.h> #include <iostream.h> #include<stdlib.h> #include<time.h> #define LEN 100 http://www.cyberforum.ru/cpp-beginners/thread964422.html
C++ Не работает одна программа
Вот программа. Нужно, чтобы она выводила 1. Три числа с длинной строки 6 2. Дви числа с длинной строки 6 и точностью после запятой 3 3. Три символа с длинной строки 5 4. Три строчки с длинной строки 6 и количеством символов в строке 8 #include "stdafx.h" #include <conio.h> #include <stdio.h> using namespace std;
Не получается "чистый ноль" C++
Доброго времени суток. Довольно банальная проблема, но заставила меня сильно попотеть! for(double x = -0.5; x <= 0.5; x += 0.01) { cout << x << endl; } При выводе, когда время доходит до 0, вместо него получается 3.08781е-016. Прошу решить проблему, используя поток вывода cout, и не меняя структуру цикла.
C++ Передача вектора из класса в класс? http://www.cyberforum.ru/cpp-beginners/thread964394.html
Доброго времени суток! У меня возникла проблема в очень простой программе. Я передаю функции из класса board.cpp в класс test.cpp. У меня выдает g++ следующую ошибку: /tmp/cc7v3lIw.o: In function `main': test.cpp:(.text+0x20): undefined reference to `Board::read_grid(int)' test.cpp:(.text+0x5f): undefined reference to `Board::print_grid(std::vector<std::vector<int, std::allocator<int> >,...
C++ Вывод матрицы на экран //* С клавиатуры вводится размерность целочисленной матрицы, затем сама матрица.Найти элементы меньшие среднего арифметического. //* Разрешается при этом использовать только один оператор цикла(кроме цикла ввода матрицы). как написать вывод матрицы на экран после ввода строк и столбца? #include <iostream> #include <windows.h> using namespace std; int main() подробнее

Показать сообщение отдельно
Melg
416 / 152 / 62
Регистрация: 23.09.2013
Сообщений: 306
29.09.2013, 13:04  [ТС]     Гибкая архитектура и порождающие паттерны
Только пользователь вкурсе, что ему нужно. В одном случае - ему нужен инстанс new FileTypeFilter, с переданным в него ( или с переданным посредством вызова метода - расширением - например .txt) После того как этот инстанс был создан и настроен - он уже не нужен пользователю как FileTypeFilter - а нужен как простая абстрация над фильтрами - FilterInterface - что-бы просто зарегестрировать его в контейнере с фильтрами. Когда он захочет себе контейнер с фильтрами - он может захотеть, что-бы результаты фильтрации применялись по логическому или - т.е если хотя-бы 1 фильтр сказал что объект надо отфильтровать - тогда в конечном счете объект будет отфильтрован. И в этом случае ему нужно создать инстанс new OrFilterContainer и только потом с ним начинать работать, если же пользователю нужно поведение, когда объект отфильтровывается только если все фильтры сказали, что объект нужно отфильтровать - тогда ему нужен инстанс типа new AndFilterContainer. Дальше конкретика пользователю опять не нужна, а нужен только FilterContainerInterface - для дальнейшей регистрации.

Добавлено через 7 минут
Мы можем свести всю задачу к одним только фильтрам - к нижнему уровню: проблема в чём - до того как фильтр будет настроен - он нужен именно как конкретный объект - FileTypeFilter, UserFileFilter, SomeMagicFilter - поскольку только в конкретных классах определены методы "тонкой настройки" для этих фильтров. FileTypeFilter - надо настроить передав ему char * массив - указывающий на то какое рассширение надо фильтровать. У него определен метод типа SetFileType. А вот на уровне общего интерфейса - FilterInterface - таких методов уже нет, и через него настроить ничего не получится. Насколько я знаю - класс абстрактная фабрики ничего не знает о своих конкретных реализациях. Т.е класс абстрактной фабрики не может содержать методы передатчики информации - необходимой для правильной инициализации фильтров. Тогда поидее остаются только классы конкретных фабрик, получается - что в классе конкретной фабрики - нужно определеть методы настройки для конкретного типа продукта, которому соответствует эта фабрика? Но как это впринципе решит проблему? Т.е. да, пользовательский код будет связан с классами фабрики и абстрактной фабрики - а не конкретной реализации фильтра, но в целом разве это решает задачу?

Добавлено через 4 минуты
Поскольку проблема для меня достаточно животрепещущая, сейчас красочные плакаты подготовлю...
 
Текущее время: 08:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru