Главная » C#

Реализация потоковой архитектуры "читатель/писатель" в Visual C# (Sharp)

Добавлено Дата: 20 February, 2014 категория: C#

Потокова я архитектур а "читатель/писатель " основан а н а идее ,  чт о  в  т о  время ,  когд а оди н пото к выполняе т операци ю чтения , а друго й пото к такж е хоче т считат ь т е  ж е данные , т о почем у б ы ем у  н е позволит ь это ?  Н о есл и  оди н  пото к хоче т выполнят ь операци ю  записи ,  т о  тольк о   это т   пото к   може т  делат ь   это .   Иным и   словами ,   досту п к   данны м   дл я   чтени я    могу т   разделят ь   нескольк о   потоков ,    н о   дл я   запис и   досту п к  данны м   предоставляетс я   исключительн о  одном у   потоку .

Читать »

Решение проблемы пробельных символов приложения перевода в Visual C# (Sharp)

Добавлено Дата: 20 February, 2014 категория: C#

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

Удаление пробельных символов

Читать »

Создание экземпляров классов PublicRoom и PrivateRoom приложения управления освещением в Visual C# (Sharp)

Добавлено Дата: 19 February, 2014 категория: C#

Как было описано в предыдущей главе, при разработке  компонентов интерфейсы следует держать отдельно от реализаций. Это дает нам гибкость в модифицировии реализации в сборки, не требуя перекомпиляции своего кода пользователями сборки.

Для создания экземпляров реализаций нам нужна фабрика, что точно так же отнится к музею и его реализациям PrivateRoom и pubiicRoom. Но конструкционный мод, который собирает здание из ВОЗМОЖНЫХ комбинаций PrivateRoom И PubiicRoom, будет предоставлен вместе с музеем. Конструкционный метод полезен тем, что он предопределяет стандартное здание, со всеми комнатными группировками и коатами, вставленными должным образом.

Читать »

Реализация приложения TextProcessor в Visual C# (Sharp)

Добавлено Дата: 19 February, 2014 категория: C#

При реализации обработчика текста мы сталкиваемся с проблемой, каким образом исправить поток данных, чтобы он был однородным. Основными причинами приворечивых данных являются ошибки и небрежность оператора.

На рис. 10.3 показан пример вывода содержимого текстового файла с номерами предыдущих тиражей лотереи в текстовом редакторе Notepad (Блокнот). Очевидно, что содержимое в таком виде не несет легко улавливаемой смысловой информации для людей.

Читать »

Разработка серверной электронной таблицы в Visual C# (Sharp)

Добавлено Дата: 19 February, 2014 категория: C#

Разработка серверной электронной таблицы должна удовлетворять следующим требованиям.

•   Производительность. Где только возможно, конструкция не должна быть убыточной с точки зрения производительности.

•   Удобство в использовании. Серверная электронная таблица должна быть легко программируемой на языке С#. Со слишком сложной или неудобной в исполовании электронной таблицей нельзя будет работать должным образом, что яяется потенциальным источником ошибок.

Читать »

Верификация в приложении обмена валют в Visual C# (Sharp)

Добавлено Дата: 18 February, 2014 категория: C#

Для выполнения тестового класса TestcurrencyTrader применяется следующий код: TestCurrencyTrader els = new TestCurrencyTrader();  els.IntializeExchangeRate() ;

В модифицированном тестовом коде создается экземпляр класса Testcur- rencyTester, после чего вызывается метод InitializeExchangeRate(). Но являея ли данный код тестом? Ведь метод InitializeExchangeRate () не возвращает значение и не имеет выходного параметра. Такой тест можно сравнить с отправлием письма по почте. Хотя, скорее всего, письмо дойдет до адресата, полной увенности в этом нет. Использование тестов, об успешном завершении которых можно судить только с определенной вероятностью, является очень плохой идеей.

Читать »

Реализация базового налогового счета приложения для вычисления налогов Visual C# (Sharp)

Добавлено Дата: 18 February, 2014 категория: C#

Интерфейс  iTaxAccount также можно реализовать как функциональность базового класса. Соответствующий код будет выглядеть так:

abstract class BaseTaxAccount : ITaxAccount { ITaxDeduction[] _deductions;

ITaxIncome[] _incomes;

public BaseTaxAccount() {

Читать »

Конкретизация процесса разработки программы Калькулятор в Visual C# (Sharp)

Добавлено Дата: 17 February, 2014 категория: C#

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

Читать »

Обработка незавершенных задач с помощью finally в Visual C# (Sharp)

Добавлено Дата: 16 February, 2014 категория: C#

Проблему излишней раскрутки стека проще всего решить с помощью  ключевого слова finally, которое гарантирует выполнение определенного фрагмента кода, независимо от того, было ли выброшено исключение. В следующем фрагменте пазан код из рис. 5.6, модифицированный с применением ключевого слова finally. Этот код присваивает члену данных depth правильное значение,

Читать »

Маршаллинг данных конфигурационного файла в Visual C# (Sharp)

Добавлено Дата: 16 February, 2014 категория: C#

Когда  мы  хотим  использовать  в  конфигурационном   файле  специальный  узел, то нам нужно реализовать специальный класс, производный от класса System.Configuration.ConfigurationSection. Этот специальный класс требуется для обработки  и структурирования данных в конфигурационном  файле  в формат, в котором пользователь может манипулировать ими. Иными словами, мы маршаллизуем данные из конфигурационного файла в среду .NET.

Читать »

Преобразование текстового потока в двоичный в Visual C# (Sharp)

Добавлено Дата: 13 February, 2014 категория: C#

Процесс преобразования текстового потока в двоичный поток включает разбиение текстового потока на части, создание экземпляра Ticket, присвоение значений членам данных экземпляра и передачу экземпляра двоичному потоку. Далее продится исходный код для выполнения всех этих шагов. (Для правильной работы кода в Text2Binary необходимо создать ссылку на LottoLibrary.)

Читать »

Нулевые типы в Visual C# (Sharp)

Добавлено Дата: 13 February, 2014 категория: C#

В  .NET null означает отсутствие значения,  и  мы  все знаем, что это означает,  не так ли?  Например,  использование  null демонстрируется  в  следующем  коде:

Object value = null; if (value == null) {

Console.WriteLine("Yup a null.");

Читать »

Пересылка двоичных данных в Visual C# (Sharp)

Добавлено Дата: 13 February, 2014 категория: C#

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

Читать »

Реализация комнатных группировок приложения управления освещением в Visual C# (Sharp)

Добавлено Дата: 11 February, 2014 категория: C#

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

Читать »

Дополнительные приемы LINQ в Visual C# (Sharp)

Добавлено Дата: 11 February, 2014 категория: C#

LINQ не является единственным средством для фильтрации данных. С LINQ связо несколько методов расширения, которые можно применять для работы со спками. Например, чтобы отфильтровать определенный номер, можно было бы воользоваться следующим кодом:

int FrequencyOfANumberList(int numberToSearch) { var query = _tickets .Where (

Читать »