Я пишу приложение в C# (.NET 3.5) и у меня есть вопрос о дизайне класса:дизайн Класс: Завершая файл данных в класс по безопасности потоков и контролируемости
Я бы например, создать класс, который обращается к файлу (читать, писать) и предоставляет его контент пользователям (instanciators) этого класса. Наиболее распространенной операцией в экземпляре будет извлечение определенного значения из файла. Фактические операции чтения и записи (io) являются дорогостоящими, поэтому я хочу сохранить данные файла в памяти и позволить всем экземплярам получить доступ к этим данным. Класс расположен в сборке, которая используется из разных приложений одновременно, поэтому я думаю, что я должен беспокоиться о безопасности потоков.
Как это сделать для обеспечения безопасности резьбы и модульности (для модульных испытаний должны использоваться разные входные файлы, чем в рабочем коде)? Любая помощь приветствуется.
Не могли бы вы предоставить более подробную информацию? Я все еще не знаю, как создать класс. Как должен выглядеть интерфейс? Только GetFilePortionX/SetFilePortionY? Как я могу избежать повторной загрузки filedata с каждой установкой. Потерпите меня, я начинаю и действительно застрял на этом. – Mats 2008-10-16 12:01:02
А, я не заметил, что вам нужно писать, а также читать. Это боль в плане тестирования - хотя вы можете использовать MemoryStream для его поддержки. Что касается интерфейса, выясните, что нужно клиентам. Является ли Get/SetPortion всем? Если это так, это ваш интерфейс. – 2008-10-16 14:13:11