- PVSM.RU - https://www.pvsm.ru -

Библиотека расчёта периодов времени для платформы .NET

Вступление

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

Необходимая функциональность затрагивала следующие области:

1. Поддержку индивидуальных периодов времени
2. Работу с календарём периодов внутри календарного года
3. Работу с календарём периодов, выходящим за рамки календарного года (фискальный год или школьный учебный год)

Такие расчёты должны были быть доступны как для серверных компонент (веб-сервисы и задачи), так и для «толстых» клиентов (Silverlight).

Анализ ситуации привёл меня к выводу, что ни компоненты .NET Framework (чего я не ожидал), ни другие доступные инструменты не соответствуют всем моим требованиям. А поскольку я уже сталкивался с подобными проблемами в прежних проектах, то и решил разработать для этих целей библиотеку.

Несколько циклов разработки привели к созданию библиотеки Time Period, доступной ныне для таких сред исполнения:

1. .NET Framework версии 2 и выше
2. .NET Framework для Silverlight с версии 4
3. .NET Framework для Windows Phone с версии 7

С целью демонстрации части функциональности библиотеки, я сделал приложение на Silverlight, назвал его Calendar Period Collector и разместил по адресу http://www.cpc.itenso.com/ [1]. Приложение демонстрирует поиск календарных периодов.

Далее читаем перевод в блоге (много кода, не удается качественно его перенести на Хабр):
Читать далее [2].

Статья стала лучшей статьёй на тему C# на сайте CodeProject в марте 2011 г., а также лучшей статьей сайта CodeProject в марте 2011 г.

Исходные коды и ссылки:

Исходный код проекта на CodeProject: Скачать код [3].
Исходный код проекта на box.com: Скачать код [4].
Ссылка на оригинал статьи: автор Jani Giannoudis [5].

Автор: hDrummer


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/programmirovanie/5137

Ссылки в тексте:

[1] http://www.cpc.itenso.com/: http://www.cpc.itenso.com/

[2] Читать далее: http://feelnet.blogspot.com/2012/04/net.html

[3] Скачать код: http://www.codeproject.com/KB/datetime/TimePeriod/TimePeriod_SourceCode.zip

[4] Скачать код: http://www.box.com/s/dcbaab50a7ac9116f536

[5] автор Jani Giannoudis: http://www.codeproject.com/Articles/168662/Time-Period-Library-for-NET