Главная » Статьи для тега "является"

Усовершенствование конфигурационного файла в Visual C# (Sharp)

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

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

Читать »

Директивы препроцессора в Visual C# (Sharp)

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

Ранее в этой главе рассматривалось использование символа # и условных оператов для включения или исключения кода из компиляции. На техническом жаргоне это называется предварительной обработкой (preprocessing) кода, а операторы нываются директивами препроцессора. В табл. 6.1 приведен список директив прроцессора.

Читать »

Обобщения .NET

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

В главе 9 мы рассмотрели использование списков, делегатов и лямбда-выражений. Там же был показан пример обобщений .NET при использовании списков для управления коллекцией объектов. В этой главе мы рассмотрим обобщения  .NET более подробно, включая использование их в контексте черного ящика (т. е. когда код ничего не знает о специфике типов параметров обобщений .NET). Кроме этого, будет представлена более подробно реализация лямбда-выражений. Для демонсации этих концепций мы расширим пример электронной таблицы,  использоваый  в  главе  9.  Цель —  приобретение  хорошего  опыта  в  применении  обобщений и лямбда-выражений .NET, которые вы, скорее всего, будете использовать в своем рабочем коде. Это позволит снизить возможность возникновения неприятных сюризов при разработке проектов.

Читать »

Вычисление функций – функциональное программирование

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

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

Читать »

Перегрузка операторов в Visual C# (Sharp)

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

Как было сказано, оператор + ведет себя по-разному с типами string и int. Спривается, каким образом применение оператора  + со строковым типом  изменяет его поведение? Изменить поведение оператора + можно, реализовав его в пользовельском типе.

Для примера, рассмотрим пошагово реализацию оператора + для комплексного члового типа. Комплексные числа состоят из двух частей: вещественной и мнимой. Например, в комплексном числе а+ь часть а является вещественной, а часть ь — мнимой. При сложении комплексных чисел, складываются их соответствующие вещественные и мнимые части. Далее приводится объявление комплексного числа: public sealed class ComplexType {

Читать »

Обработка исключений в С#

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

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

Читать »

Создание оболочки в Visual C# (Sharp)

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

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

Читать »

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

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

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

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

Читать »

Реализация приложения 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)

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

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

Читать »

Чистые функции – функциональное программирование

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

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

Читать »

Определение интерфейсов серверной электронной таблицы в Visual C# (Sharp)

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

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

Читать »

Расширение системы предсказания результатов лотереи в Visual C# (Sharp)

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

В главе 10 применение интерфейса IProcessor было хорошим первым шагом, т. к. позволяло решить насущную проблему преобразования текстовой строки из одного формата в другой.  Но для  примера данной главы этого  интерфейса недостаточно, И нам нужно Добавить еще Два метода: Initialize () И Finalize ().

Читать »