Это называют типографская лигатура, и встроено к определенным шрифтам.
А именно, fi
и fl
лигатуры являются стандартными в Типе 1 и шрифтах TrueType, хотя более широкий диапазон стандартных лигатур найден во многих новых шрифтах OpenType.
можно добавить стиль для другого текста путем импорта такого шрифта, добавления font-face
правило CSS, которое связывается с тем шрифтом и затем ссылкой что конкретный шрифт с [1 113] font-family
:
@font-face {
font-family: fancyFont;
src: url(YOUR_FONT.woff);
}
p {
font-family: "fancyFont", serif;
}
Спросите любого сотрудника службы поддержки: ведение журнала - это не хорошее применение АОП. Им все равно, какой метод вызывается внутри приложения. Их волнуют важные действия, выполняемые приложением, и они нуждаются в том, чтобы эта информация была представлена в понятном для них виде. Чтобы создать достойные журналы, вы должны рассматривать ведение журнала как еще один пользовательский интерфейс для приложения и соответствующим образом проектировать его.
Было бы точнее сказать, что AOP можно использовать для реализации трассировки .
] И я не уверен, что это полезно для управления транзакциями. Я обнаружил, что простое объектно-ориентированное делегирование четко разделяет управление транзакциями и бизнес-логику.
Тем не менее, хороший вопрос! Я обнаружил, что аргументы в пользу АОП делятся на два лагеря:
И специалисты Spring, и комитет по спецификациям EJB3 считают, что AOP полезен для декларативных транзакций.
Безопасность, конечно.
В "AOP In Action" есть отличный пример, показывающий, как использовать АОП для обеспечения соблюдения архитектурных правил, таких как запрет на вызов уровня сохраняемости за пределами уровня сервисов.
Qi4j, последний мозговой продукт Рикарда Оберга, использует АОП для динамических модификаций классов. Мне еще предстоит полностью осмыслить это, но если Рикард настаивает на этом, мы все когда-нибудь захотим узнать.
АОП весьма полезен, когда у вас есть большое унаследованное приложение, и вы хотите сделать повсеместное изменение во всем приложении.
Недавно я использовал его для разделения области http-сеанса с помощью дополнительного cookie (кроме идентификатора сеанса). Это быстро избавило от многих проблем, связанных с плохо написанным кодом, привязанным к сеансу.
Также проверьте Glassbox, чтобы увидеть очень хороший пример того, как АОП может помочь в создании легких инструментов мониторинга и управления производительностью
Я только начал изучать, как можно использовать АОП. До сих пор я использовал его для внедрения зависимостей и для реализации интерфейса для поддержки двусторонней привязки данных в некотором коде пользовательского интерфейса.