Pull to refresh
0
0

User

Send message

Автоматизация Undo/Redo функциональности с помощью .NET Generics

Reading time11 min
Views6K
Перевод статьи Automating Undo/Redo with .NET Generics Сергея Архипенко.

Введение

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

Предпосылки

Если вы когда-нибудь разрабатывали графический редактор или дизайнер для сложных данных, вы сталкивались с трудоёмкой задачей реализации undo/redo функциональности, которая бы поддерживалась во всём приложении. Реализация парных Do и Undo методов для каждой операции скучный и подверженный ошибкам процесс, когда вы разрабытываете что-либо более серьёзное, чем калькулятор. В результате моих экспериментов я нашёл способ сделать поддержку undo/redo прозрачной для бизнес логики. Чтобы этого добиться, мы будем использовать магию generics.
Этот проект опубликован на CodePlex, чтобы каждый мог его использовать или внести свой вклад.

Читать дальше →

Текст любой ценой: PDF

Reading time12 min
Views93K
Продолжаем разбирать текстовые форматы на предмет получения текста. Итак, обещанный ранее PDF.

С portable document format'ом не всё так просто, как DOCX или ODT, что мы рассматривали в прошлый раз, но всё же это всё ещё изначально текстовый, а не бинарный формат. Вы удивлены? Тогда давайте посмотрим на то, что там внутри. Дальше действительно много текста.

Читать дальше →

Выбор Шрифтов для Презентаций, Печати и Веба

Reading time5 min
Views73K
Любовь к шрифтам – это болезнь. Скорее всего большинству людей этого не понять – ведь мы живем в стране где вывески и витрины оформлены с такой безграмотностью что порой хочется достать фотоаппарат и сфотографировать это «счастье» да выложить в интернет дабы показать до чего может довести человеческое безразличие. Поэтому человек у которого на столе лежит каталог FontFont и который иногда бурчит что де «неплохо еще вот этот шрифт купить» воспринимается порой как немного «не в себе». Тем не менее, изрядная доля моего времени уходит на то чтобы потеоритизировать на тему того, какие шрифты где уместны, и как выработать свой уникальный стиль для презентаций, веб-типографики и печатной типографики. В этом посте – несколько мыслей насчет того что работает/не работает, и что бы хотелось попробовать.
Читать дальше →

Тривиальные задачи по вёрстке

Reading time4 min
Views60K
image

Начинаю вести серию статей Это статья про вёрстку html css js, начинаю с самого простого, потом планирую описать более сложные вещи и всякие тонкости и этим видимо так и закончил

Читать дальше →

Парадокс Смейла или “Как вывернуть сферу наизнанку?”

Reading time1 min
Views13K
Недавно перевел замечательный видеоролик. Вы знаете, что сферу в трёхмерном пространстве можно вывернуть наизнанку в классе погружений, т. е. с возможными самопересечениями, но без перегибов, а окружность нельзя?

В ролике наглядно показан способ выворачивания сферы, изобретенный не так давно Уильямом Терстеном. Сначала это кажется чем-то невероятно сложным и просто немыслимым, однако к концу ролика все становится понятно. Посмотрите до конца, и вы не пожалеете!:)
Читать дальше →

Ускорение запуска программ с помощью Preload

Reading time2 min
Views25K
Preload — демон, работающий в фоне, который собирает информацию о наиболее часто используемых программах, кеширует их и используемые ими библиотеки, что приводит к повышению скорости загрузки программ. Используя Preload вы можете с пользой потратить гигабайты неиспользуемой оперативной памяти (конечно если они у вас есть).
Читать дальше →
2

Information

Rating
Does not participate
Location
Германия
Date of birth
Registered
Activity