2017 © Pedro PelΓ‘ez
 

library indexer-common

A library that provides common classes for entities indexer

image

moro/indexer-common

A library that provides common classes for entities indexer

  • Wednesday, July 11, 2018
  • by moro
  • Repository
  • 1 Watchers
  • 0 Stars
  • 9 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 7 Versions
  • 0 % Grown

The README.md

ΠŸΠ°ΠΊΠ΅Ρ‚ для формирования Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… индСксов

Π—Π°Π΄Π°Ρ‡Π΅ΠΉ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π° являСтся созданиС индСксов со слоТными условиями, Π² Ρ‚ΠΎΠΌ числС с Ρ‚Π΅ΠΌΠΈ Ρ‡Ρ‚ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π°Ρ‡Π°Π»Π° ΠΈ окончания Π΅Ρ‘ активности. Π’ зависимости ΠΎΡ‚ этого ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒΡΡ ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒΡΡ ΠΈΠ· ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Ρ… индСксов. Π’ качСствС Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Π±ΡƒΠ΄Π΅Ρ‚ индСкс распрСдСлСния сущностСй ΠΏΠΎ возрастной ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ ΠΈΡ… Π°Π²Ρ‚ΠΎΡ€ΠΎΠ²., (*1)

Для упрощСния использования ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π² Π½Π΅Π³ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ для хранСния прСдставлСний сущности. Π•Π³ΠΎ использованиС позволяСт ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΏΠΎ индСксу Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ сущностСй Π½ΠΎ ΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ ΠΈΡ… прСдставлСния. НапримСр, анонс ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°, состоящий ΠΈΠ· ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ, Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°, Π»ΠΈΠ΄Π°, Π°Π²Ρ‚ΠΎΡ€Π°, ΠΈΠΊΠΎΠ½ΠΊΠΈ Π°Π²Ρ‚ΠΎΡ€Π°. Π­Ρ‚ΠΎ прСдставлСниС Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ достаточно Ρ€Π°Π·Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΎ ΡƒΠΆΠ΅ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½ΠΎ ΠΈ Π΅Π³ΠΎ Π½Π΅ Π½Π°Π΄ΠΎ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ экономию рСсурсов сСрвСра., (*2)

Ѐасады

ΠŸΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для использования Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ°ΠΊ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½ΠΎΠ΅ API для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ., (*3)

  • ServiceFacade - фасад для использования Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.
  • BackendFacade - API для Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠ³ΠΎ процСсса (ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ располоТСн ΠΈ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΌ сСрвСрС).

ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΏΠ°ΠΊΠ΅Ρ‚Π°

  1. Accessory - ΠΎΠ±Ρ‰ΠΈΠ΅ Ρ‚ΠΈΠΏΠ°ΠΆΠΈ (traits).
  2. Action - классы ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠ΅ порядок дСйствий ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ API ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ².
  3. Bus - Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ внСшнСй ΡˆΠΈΠ½Ρ‹ для ΠΎΠ±ΠΌΠ΅Π½Π° сообщСниями ΠΌΠ΅ΠΆΠ΄Ρƒ клиСнтским ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ Ρ„ΠΎΠ½ΠΎΠ²Ρ‹ΠΌ процСссом сСрвиса.
  4. Configuration - классы для создания Π΄Π΅Ρ€Π΅Π²Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΏΠΎ Π΄Π°Π½Π½Ρ‹ΠΌ ΠΈΠ· Π½Π΅ΠΊΠΎΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.
  5. Dispatcher - ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ событий ΠΏΠ°ΠΊΠ΅Ρ‚Π°.
  6. Exception - интСрфСйсы для Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ².
  7. Index - ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠΉ Π·Π° Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ записСй индСксов.
  8. Integration - классы для ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π° с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ DI ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°ΠΌΠΈ.
  9. Regulation - ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ опрСдСлСния принадлСТности сущности ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ индСксам ΠΈ прСдставлСниям.
    1. Scheduler - ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ Π·Π°Π΄Π°Π½ΠΈΠΉ Π½Π° Π±ΡƒΠ΄ΡƒΡ‰Π΅Π΅ врСмя.
    2. Source - ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ для взаимодСйствия с внСшними источниками сущностСй.
    3. Strategy - Π½Π°Π±ΠΎΡ€ стратСгий Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² дСйствий для _ServiceFacade_ (ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Ρƒ ΠΈΠ»ΠΈ ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ шинС).
    4. Transaction - Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠΉ Π·Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΎΠ½Π½ΠΎΡΡ‚ΡŒ дСйствий с Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ….
    5. View - ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠΉ Π·Π° Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ прСдставлСний сущности.

Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ

  • Для Π½Π°Ρ‡Π°Π»Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ классы взаимодСйствия с Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Π°ΠΌΠΈ ΠΈ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°ΠΌΠΈ.
  • ПослС этого ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ классы ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΌΡƒ DI ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρƒ.
  • Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ Ρ‚ΠΈΠΏ сущности ΠΈ пишСм классы для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½Π΅ΠΉ (Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Ρ‹, инструкции, прСдставлСния).
  • По нСобходимости добавляСм Π΄Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΈ ΡΠ»ΡƒΡˆΠ°Ρ‚Π΅Π»Π΅ΠΉ для ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΏΠ°ΠΊΠ΅Ρ‚Π°.

Version 0.7.2, (*4)

The Versions