- PVSM.RU - https://www.pvsm.ru -
Вступление
В процессе написания программного обеспечения для другого проекта, я столкнулся с необходимостью работы с расчётами периодов времени. Эти расчёты были важной частью решения, соответственно требования к корректности и аккуратности результатов были высоки.
Необходимая функциональность затрагивала следующие области:
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
Нажмите здесь для печати.