Должен ли я всегда создавать классы с атрибутами и методами? - PullRequest
0 голосов
/ 20 июня 2020

Считается ли это плохой практикой? Если это не всегда плохая практика, когда уместно создавать классы без атрибутов или методов?

Ответы [ 2 ]

0 голосов
/ 20 июня 2020

Если вы имеете в виду всегда , мой ответ отрицательный, вы не должны всегда это делать.

Если язык позволяет вам это делать, должна быть причина. Рассмотрим следующий фабричный класс:

public class Factory : IFactory
{
    public const string FactoryName = "StackOverflowFactory";

    public IPerson GetPerson(PersonType type)
    {
        switch (type)
        {
            case PersonType.Rural:
                return new Villager();
            case PersonType.Urban:
                return new CityPerson();
            default:
                throw new NotSupportedException(string.Format("{0} does not handle {1}", FactoryName, type));
        }
    }
}

В этом случае класс содержит атрибут и метод. И это нормально. не следует смешивать атрибуты с методами, потому что цель этих объектов - хранить данные, а не манипулировать ими.

Хорошо или Плохо всегда является относительным, базовым о том, как спроектирована система, цели классов и т. д. c. Если система разработана с использованием шаблона A, но вы нарушаете этот шаблон при изменении кода, то использование может быть плохой практикой. Если класс предназначен только для хранения данных, но вы добавляете некоторые методы для управления им, тогда этот может также также быть плохой практикой.

0 голосов
/ 20 июня 2020

Класс не обязательно должен содержать методы, а также атрибуты. Предположим, secenerio, в котором некоторые атрибуты публично определены для временного использования, поэтому мы можем использовать эту переменную из любого места за пределами класса. Но для использования инкапсуляции рекомендуется, чтобы атрибуты были закрытыми.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...