Они на самом деле походят на различные "вещи" мне, или класс, связанный с файлом или класс, связанный с базой данных. Я определил бы интерфейс, затем имел бы отдельные реализации для каждого. Используйте Фабрику для генерации корректной реализации.
А подсказывают, что Вы, возможно, должны измениться, Ваш дизайн - то, если Ваши методы должны решить, работают ли они с файлом или базой данных, прежде чем они выполнят необходимое действие. Если это верно, затем распадение на различные классы было бы путем, которым я пойду.
public interface IThing
{
... methods to do the things that Things do
}
public class FileThing : IThing
{
... file-based methods
}
public class DatabaseThing : IThing
{
... database-based methods
}
public static class ThingFactory
{
public IThing GetFileThing( string name )
{
return new FileThing( name );
}
public IThing GetDatabaseThing( string connectionString )
{
return new DatabaseThing( connectionString );
}
}
, Если у Вас было общее поведение, Вы могли бы альтернативно определить абстрактный класс, содержащий поведение по умолчанию/распространенное, и произойти из него вместо этого/в дополнение к интерфейса.
Can you use global-ignores
? If yes, customize it in your config
file:
C:\Documents and Settings\%USERID%\Application Data\Subversion\config
~/.subversion/config
Вы можете просто снять флажок "Показать неверсированные files "в окне фиксации?