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

Составить грамотный интерфейс и стиль программы. (ООП) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ написания проги для вивода ключа в ком порт http://www.cyberforum.ru/cpp-beginners/thread441001.html
Прошу помощи по написанию програми, суть проги : при нажатии клавиши отправляло на ком порт № 9 8-ми битний ключ. клавиша ключ w F88F02FF0000000001 d F88F0200FF00000001 a F88F020000FF000001 s F88F02FF00FF000000 Буду признателен вашей помощи.
C++ Отловить нажатие Enter Доброй всем ночи, у меня вопрос. Я написал код который должен отловить нажатие Ентера, вот он: void main() { char ch; ch = cin.get(); if(ch==10) cout<<"Enter"; else cout<<"Not enter"; http://www.cyberforum.ru/cpp-beginners/thread440998.html
C++ Заюзанный вектор в конструкторе взрывается, самоуничтожается, очищается, отправляется в адд
#include <iostream> #include <vector> #include <cstdlib> #include <set> using namespace std; #define F_SIZE 30 #define DICE 6
работа между функциями C++
в функции func_1 я вычислил массив p1. Как мне использовать данные этого массива в другой функции?
C++ Задача на обработку массивов http://www.cyberforum.ru/cpp-beginners/thread440974.html
Здравствуйте. Помогите пожалуйста с программой. Нужно написать программу без использования указателей и с использованием указателей. Дана действительная матрица , где i, j = 1..n. Получить действительную матрицу , где i, j = 1..n, элемент bij которой равен сумме элементов данной матрицы, расположенных в области, определяемой индексами i, j (область заштрихована):
C++ Окно вывода в Visual Studio Здравствуйте, у меня такой вопрос: Создаю консольное приложение Win32. Пишу код, выполняю и у меня окно(консоль) сразу исчезает. Был раньше компилятор от Борланд, там, кажется, не исчезало окно, а нужно было самому закрывать. Можно ли где-нибудь там поставить, чтобы я сам закрывал окно. А то оно само закрывается при окончании выполнения. подробнее

Показать сообщение отдельно
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4247 / 2779 / 219
Регистрация: 12.12.2009
Сообщений: 7,109
Записей в блоге: 1
Завершенные тесты: 1
05.02.2012, 09:40     Составить грамотный интерфейс и стиль программы. (ООП)
Класс MemberList - это класс для хранения и работы со списком членов, он ни чего не знает о БД. Поэтому эти строки
C++
1
2
3
4
    // импорт данных из базы
    bool ImportFromDB();
    // экспорт данных в базу
    bool ExportToDB();
я бы убрал и сделал в отдельном файле примерно такой класс:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class DataBase {
    DataBase(){};
    DataBase(const DataBase&){};
    DataBase operator = (const DataBase&){};
    static DataBase *db;
   //добавить еще членов по необходимости
public:
    static DataBase* GetDb()
    {
        if (db == NULL) {
            db = new DataBase;
        }
        return db;
    }
 
    MemberList ReadDb(){};
    bool WriteDb(const MemberList&){};
};
 
DataBase* DataBase::db = NULL;
ну т.е. понятно, что это синглтон. Потом, где нужно, просто вызываешь GetDb() и пишешь/читаешь из/в БД

Добавлено через 4 минуты
Но у меня остались лишние типы, которые не имеют отношения, но нужны для работы с Menu и MemberList
Честно говоря, я еще тот ОО архитектор , но вот это
C++
1
2
3
4
5
6
7
8
9
10
struct НезнаюКакНазвать
{
    // функция для стандартизаций строки 
    void NormalizeString(std::string& str);
    // сравнивание строк без учёта регистра
    bool CompareString(std::string firstStr, std::string secondStr) ;
    // проверка строки на буквы в алфавите
    bool IsInABC(std::string str);
    ...
};
я бы вынес в отдельный файл, который назвал бы к примеру string_utils.cpp, и сделал бы эти функции просто в виде функций, т.е. не членов какого-либо класса.

Добавлено через 1 минуту

Не по теме:

У кого-нибудь еще пару минут назад поменялся шрифт на форуме или у меня Опера глючит?



Добавлено через 9 минут
еще вот
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include "MemberList.h"
class Menu
{
public:
    // главное меню
    void MainMenu();
 
    void FindMember();
    void CreateMemer();
    void ShowAllMembers();
private:
    MemberList* pMemberList;
};
непонятно, что в классе Menu делает указатель на MemberList? В Menu должно быть только то, что касается меню ( я так понимаю, что это меню, которое будет выведено на экран, с пунктами "добавить", "удалить" и т.д.) Поэтому этот момент нужно пересмотреть.
FindMember(), CreateMemer() и ShowAllMembers() я бы переложил на плечи класса MemberList.
 
Текущее время: 03:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru