Классы, которые не имеют данных члена

Что вы делаете с классами, у которых нет данных о членах, только методы?

Вы делаете их статичными?

В моем случае это класс репозитория, который выполняет запросы к базе данных. Может быть, я неправильно понял шаблон репозитория ... (Он реализует интерфейс)

15.12.2008 15:57:26
4 ОТВЕТА
РЕШЕНИЕ

Наследование от интерфейса означает, что вы не можете использовать статический. Просто создайте класс и создайте его экземпляр.

3
15.12.2008 16:11:14

Это зависит. В большинстве случаев возможно сделать класс статичным, но иногда вам нужно передать его экземпляр. Похоже, у вас может быть такая ситуация. В этом случае, возможно, вам следует рассмотреть шаблон Singleton, поскольку вряд ли понадобится более одного экземпляра класса?

-2
15.12.2008 16:01:11

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

Вы могли бы хотеть сделать это синглтон, но нет особой необходимости.

1
15.12.2008 16:01:15

Почему бы вам не создать класс-оболочку базы данных, который поддерживает соединение с базой данных, открытой / закрытой. Кроме того, он также может открыть его автоматически, если новый запрос отправлен. Вы можете включить функции, которые есть в вашем классе, запустив их прямо по внутреннему указателю на базу данных.

Я думаю, что это лучший шаблон управления базой данных. Если вы используете его, вы должны создать метод Factory, который возвращает объект этого класса, инициализированный в некоторой конкретной базе данных. Затем вы передаете этот объект.

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

0
15.12.2008 16:07:58