Decorator Pattern āđ€āļ›āđ‡āļ™āļĢāļđāļ›āđāļšāļšāļāļēāļĢāļ­āļ­āļāđāļšāļšāļžāļ·āđ‰āļ™āļāļēāļ™āļ—āļĩāđˆāđƒāļŠāđ‰āđƒāļ™āļāļēāļĢāđ€āļ‚āļĩāļĒāļ™āđ‚āļ›āļĢāđāļāļĢāļĄāđ€āļŠāļīāļ‡āļ§āļąāļ•āļ–āļļāļ—āļĩāđˆāļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļŠāļēāļĄāļēāļĢāļ–āļ‚āļĒāļēāļĒāļŦāļĢāļ·āļ­āļ›āļĢāļąāļšāđ€āļ›āļĨāļĩāđˆāļĒāļ™āļžāļĪāļ•āļīāļāļĢāļĢāļĄāļ‚āļ­āļ‡āļ§āļąāļ•āļ–āļļāđ„āļ”āđ‰āđāļšāļšāđ„āļ”āļ™āļēāļĄāļīāļāđ‚āļ”āļĒāđ„āļĄāđˆāļ•āđ‰āļ­āļ‡āđ€āļ›āļĨāļĩāđˆāļĒāļ™āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļ—āļĩāđˆāļĄāļĩāļ­āļĒāļđāđˆ āļ§āļīāļ˜āļĩāļāļēāļĢāļ­āļ­āļāđāļšāļšāļ™āļĩāđ‰āđ€āļ›āđ‡āļ™āđ„āļ›āļ•āļēāļĄāļŦāļĨāļąāļāļāļēāļĢāđ€āļ›āļīāļ”/āļ›āļīāļ” āļ‹āļķāđˆāļ‡āļĢāļ°āļšāļļāļ§āđˆāļēāđ€āļ­āļ™āļ—āļīāļ•āļĩāļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāļ„āļ§āļĢāđ€āļ›āļīāļ”āđ€āļžāļ·āđˆāļ­āļ‚āļĒāļēāļĒ āđāļ•āđˆāļ›āļīāļ”āđ€āļžāļ·āđˆāļ­āđāļāđ‰āđ„āļ‚ āļĢāļđāļ›āđāļšāļšāļĄāļąāļ“āļ‘āļ™āļēāļāļĢāđ€āļ›āđ‡āļ™āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļ­āđ€āļ™āļāļ›āļĢāļ°āļŠāļ‡āļ„āđŒāļŠāļģāļŦāļĢāļąāļšāļ™āļąāļāļžāļąāļ’āļ™āļēāļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒ āđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļāļĄāļĩāļŠāđˆāļ§āļ™āļŠāđˆāļ§āļĒāđƒāļ™āļāļēāļĢāđāļĒāļāļŠāđˆāļ§āļ™āđāļĨāļ°āļ„āļ§āļēāļĄāļĒāļ·āļ”āļŦāļĒāļļāđˆāļ™āļ‚āļ­āļ‡āļĢāļ°āļšāļš āļ­āļģāļ™āļ§āļĒāļ„āļ§āļēāļĄāļŠāļ°āļ”āļ§āļāđƒāļ™āļāļēāļĢāđāļĒāļāļ‚āđ‰āļ­āļāļąāļ‡āļ§āļĨ āđāļĨāļ°āļ•āļĢāļ§āļˆāļŠāļ­āļšāđƒāļŦāđ‰āđāļ™āđˆāđƒāļˆāļ§āđˆāļēāđāļ•āđˆāļĨāļ°āļŠāđˆāļ§āļ™āļ›āļĢāļ°āļāļ­āļšāđ€āļ›āđ‡āļ™āđ„āļ›āļ•āļēāļĄāļŦāļĨāļąāļāļāļēāļĢāļ„āļ§āļēāļĄāļĢāļąāļšāļœāļīāļ”āļŠāļ­āļšāđ€āļ”āļĩāļĒāļ§ āļ™āļ­āļāļˆāļēāļāļ™āļĩāđ‰ āļĢāļđāļ›āđāļšāļšāļāļēāļĢāļ•āļāđāļ•āđˆāļ‡āļĒāļąāļ‡āļŠāđˆāļ§āļĒāļ­āļĒāđˆāļēāļ‡āļĄāļēāļāđƒāļ™āļāļēāļĢāļšāļĢāļĢāļĨāļļāļ–āļķāļ‡āļāļēāļĢāļšāļģāļĢāļļāļ‡āļĢāļąāļāļĐāļēāļĢāļ°āļšāļš āļāļēāļĢāđƒāļŠāđ‰āļ‹āđ‰āļģ āđāļĨāļ°āļ„āļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļ–āđƒāļ™āļāļēāļĢāļ—āļ”āļŠāļ­āļš

āđƒāļ™āļšāļĢāļīāļšāļ—āļ‚āļ­āļ‡āļŠāļ–āļēāļ›āļąāļ•āļĒāļāļĢāļĢāļĄāđāļĨāļ°āļĢāļđāļ›āđāļšāļšāļ‚āļ­āļ‡āļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒ āļĢāļđāļ›āđāļšāļšāļĄāļąāļ“āļ‘āļ™āļēāļāļĢāļŠāļēāļĄāļēāļĢāļ–āļ”āļđāđ„āļ”āđ‰āđ€āļ›āđ‡āļ™āļĢāļđāļ›āđāļšāļšāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļ—āļĩāđˆāđ€āļāļĩāđˆāļĒāļ§āļ‚āđ‰āļ­āļ‡āļāļąāļšāļŠāļļāļ”āļ„āļĨāļēāļŠāļĄāļąāļ“āļ‘āļ™āļēāļāļĢāļ—āļĩāđˆāļŠāļ°āļ—āđ‰āļ­āļ™āļ­āļīāļ™āđ€āļ—āļ­āļĢāđŒāđ€āļŸāļ‹āļ‚āļ­āļ‡āļŠāđˆāļ§āļ™āļ›āļĢāļ°āļāļ­āļš āđƒāļ™āļ‚āļ“āļ°āđ€āļ”āļĩāļĒāļ§āļāļąāļ™āļāđ‡āđ€āļžāļīāđˆāļĄāļŦāļĢāļ·āļ­āđāļ—āļ™āļ—āļĩāđˆāļžāļĪāļ•āļīāļāļĢāļĢāļĄ āļĄāļĩāļ›āļĢāļ°āđ‚āļĒāļŠāļ™āđŒāļ­āļĒāđˆāļēāļ‡āļĒāļīāđˆāļ‡āļŠāļģāļŦāļĢāļąāļšāļŠāļ–āļēāļ™āļāļēāļĢāļ“āđŒāļ—āļĩāđˆāđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āđāļāđ‰āđ„āļ‚āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āļ„āļĨāļēāļŠāļ—āļĩāđˆāļĄāļĩāļ­āļĒāļđāđˆāđ„āļ”āđ‰āļˆāļĢāļīāļ‡āļŦāļĢāļ·āļ­āđ€āļ›āđ‡āļ™āđ„āļ›āđ„āļĄāđˆāđ„āļ”āđ‰ āđ€āļŠāđˆāļ™ āļāļąāļšāđ„āļĨāļšāļĢāļēāļĢāļĩāļ‚āļ­āļ‡āļšāļļāļ„āļ„āļĨāļ—āļĩāđˆāļŠāļēāļĄāļŦāļĢāļ·āļ­āđ‚āļ„āđ‰āļ”āļ”āļąāđ‰āļ‡āđ€āļ”āļīāļĄ

āđ‚āļ”āļĒāļ—āļąāđˆāļ§āđ„āļ›āđāļĨāđ‰āļ§ āļĢāļđāļ›āđāļšāļšāļĄāļąāļ“āļ‘āļ™āļēāļāļĢāļˆāļ°āļ›āļĢāļ°āļāļ­āļšāļ”āđ‰āļ§āļĒāļ­āļ‡āļ„āđŒāļ›āļĢāļ°āļāļ­āļšāļ•āđˆāļ­āđ„āļ›āļ™āļĩāđ‰:

  • āļŠāđˆāļ§āļ™āļ•āđˆāļ­āļ›āļĢāļ°āļŠāļēāļ™āļŠāđˆāļ§āļ™āļ›āļĢāļ°āļāļ­āļš: āļŠāļīāđˆāļ‡āļ™āļĩāđ‰āļāļģāļŦāļ™āļ”āļŠāđˆāļ§āļ™āļ•āđˆāļ­āļ›āļĢāļ°āļŠāļēāļ™āļŠāļģāļŦāļĢāļąāļšāļ§āļąāļ•āļ–āļļāļ—āļĩāđˆāļĢāļđāļ›āđāļšāļšāļĄāļąāļ“āļ‘āļ™āļēāļāļĢāļŠāļēāļĄāļēāļĢāļ–āļ—āļģāļ‡āļēāļ™āđ„āļ”āđ‰āđāļšāļšāđ„āļ”āļ™āļēāļĄāļīāļ
  • āļŠāđˆāļ§āļ™āļ›āļĢāļ°āļāļ­āļšāļ„āļ­āļ™āļāļĢāļĩāļ•: āļ„āļĨāļēāļŠāļ•āļąāđ‰āļ‡āđāļ•āđˆāļŦāļ™āļķāđˆāļ‡āļ„āļĨāļēāļŠāļ‚āļķāđ‰āļ™āđ„āļ›āļ—āļĩāđˆāđƒāļŠāđ‰āļŠāđˆāļ§āļ™āļ•āđˆāļ­āļ›āļĢāļ°āļŠāļēāļ™āļŠāđˆāļ§āļ™āļ›āļĢāļ°āļāļ­āļš āļ‹āļķāđˆāļ‡āđāļŠāļ”āļ‡āļ–āļķāļ‡āļ§āļąāļ•āļ–āļļāđ€āļ‰āļžāļēāļ°āļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļĄāļĩāļāļēāļĢāļ•āļāđāļ•āđˆāļ‡
  • āļ„āļĨāļēāļŠāļĄāļąāļ“āļ‘āļ™āļēāļāļĢ: āļ„āļĨāļēāļŠāļ—āļĩāđˆāđƒāļŠāđ‰āļ­āļīāļ™āđ€āļ—āļ­āļĢāđŒāđ€āļŸāļ‹āļ„āļ­āļĄāđ‚āļžāđ€āļ™āļ™āļ•āđŒāđāļĨāļ°āļĢāļąāļāļĐāļēāļāļēāļĢāļ­āđ‰āļēāļ‡āļ­āļīāļ‡āđ„āļ›āļĒāļąāļ‡āļ§āļąāļ•āļ–āļļāļ„āļ­āļĄāđ‚āļžāđ€āļ™āļ™āļ•āđŒāđƒāļ™āļ‚āļ“āļ°āļ—āļĩāđˆāđāļ—āļ™āļ—āļĩāđˆāļŦāļĢāļ·āļ­āļ‚āļĒāļēāļĒāļžāļĪāļ•āļīāļāļĢāļĢāļĄāļ‚āļ­āļ‡āļĄāļąāļ™
  • āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļ•āļāđāļ•āđˆāļ‡āļ„āļ­āļ™āļāļĢāļĩāļ•: āđāļ•āđˆāļĨāļ°āļ„āļĨāļēāļŠāļ—āļĩāđˆāđ„āļ”āđ‰āļĄāļēāļˆāļēāļāļ„āļĨāļēāļŠāļĄāļąāļ“āļ‘āļ™āļēāļāļĢ āđ‚āļ”āļĒāđāļ•āđˆāļĨāļ°āļ„āļĨāļēāļŠāļĄāļĩāļŸāļąāļ‡āļāđŒāļŠāļąāļ™āļāļēāļĢāļ—āļģāļ‡āļēāļ™āļŦāļĢāļ·āļ­āļāļēāļĢāļ›āļĢāļąāļšāļ›āļĢāļļāļ‡āļ—āļĩāđˆāđāļ•āļāļ•āđˆāļēāļ‡āļāļąāļ™āļŠāļģāļŦāļĢāļąāļšāļŠāđˆāļ§āļ™āļ›āļĢāļ°āļāļ­āļšāļžāļ·āđ‰āļ™āļāļēāļ™

āļ›āļĢāļ°āđ‚āļĒāļŠāļ™āđŒāļŦāļĨāļąāļāļ›āļĢāļ°āļāļēāļĢāļŦāļ™āļķāđˆāļ‡āļ‚āļ­āļ‡āļĢāļđāļ›āđāļšāļšāļĄāļąāļ“āļ‘āļ™āļēāļāļĢāļ„āļ·āļ­āļāļēāļĢāļˆāļąāļ”āļ§āļēāļ‡āļ­āļ‡āļ„āđŒāļ›āļĢāļ°āļāļ­āļšāđ€āļŦāļ™āļ·āļ­āļāļēāļĢāļŠāļ·āļšāļ—āļ­āļ” āđ‚āļ”āļĒāļāļēāļĢāđ€āļĨāļ·āļ­āļāđƒāļŠāđ‰āļ­āļ‡āļ„āđŒāļ›āļĢāļ°āļāļ­āļšāļ‚āļ­āļ‡āļ­āđ‡āļ­āļšāđ€āļˆāđ‡āļāļ•āđŒāļĄāļēāļāļāļ§āđˆāļēāļāļēāļĢāļŠāļ·āļšāļ—āļ­āļ”āļ„āļĨāļēāļŠ āļĢāļđāļ›āđāļšāļšāļ™āļĩāđ‰āļˆāļ°āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļŠāļēāļĄāļēāļĢāļ–āđ€āļžāļīāđˆāļĄāļŦāļĢāļ·āļ­āļ›āļĢāļąāļšāđ€āļ›āļĨāļĩāđˆāļĒāļ™āļžāļĪāļ•āļīāļāļĢāļĢāļĄāđ€āļ‰āļžāļēāļ°āđāļšāļšāđ„āļ”āļ™āļēāļĄāļīāļ āđ‚āļ”āļĒāđ„āļĄāđˆāļˆāļģāđ€āļ›āđ‡āļ™āļ•āđ‰āļ­āļ‡āļĄāļĩāļĨāļģāļ”āļąāļšāļŠāļąāđ‰āļ™āļāļēāļĢāļŠāļ·āļšāļ—āļ­āļ”āļ—āļĩāđˆāļ‹āļąāļšāļ‹āđ‰āļ­āļ™ āļŠāļīāđˆāļ‡āļ™āļĩāđ‰āļ™āļģāđ„āļ›āļŠāļđāđˆāđ‚āļ„āđ‰āļ”āļ—āļĩāđˆāļŠāļ°āļ­āļēāļ”āļ‚āļķāđ‰āļ™ āđ€āļ›āđ‡āļ™āđ‚āļĄāļ”āļđāļĨāļĄāļēāļāļ‚āļķāđ‰āļ™ āđāļĨāļ°āđ€āļ‚āđ‰āļēāđƒāļˆāļ‡āđˆāļēāļĒāļ‚āļķāđ‰āļ™ āļ™āļ­āļāļˆāļēāļāļ™āļĩāđ‰ āļ„āļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļ–āļ‚āļ­āļ‡āļĄāļąāļ“āļ‘āļ™āļēāļāļĢāđƒāļ™āļāļēāļĢāđ€āļžāļīāđˆāļĄāļžāļĪāļ•āļīāļāļĢāļĢāļĄ āļ“ āļĢāļąāļ™āđ„āļ—āļĄāđŒāļĒāļąāļ‡āļŠāđˆāļ§āļĒāđ€āļžāļīāđˆāļĄāļ„āļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļ–āđƒāļ™āļāļēāļĢāļ›āļĢāļąāļšāļ•āļąāļ§āđāļĨāļ°āļāļēāļĢāļ‚āļĒāļēāļĒāļĢāļ°āļšāļšāļ­āļĩāļāļ”āđ‰āļ§āļĒ

āļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāļ‚āļ­āļ‡āļĢāļđāļ›āđāļšāļšāļĄāļąāļ“āļ‘āļ™āļēāļāļĢāļŠāļēāļĄāļēāļĢāļ–āđāļŠāļ”āļ‡āđ„āļ”āđ‰āļœāđˆāļēāļ™āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ āļŠāļĄāļĄāļ•āļīāļ§āđˆāļēāļšāļĢāļīāļĐāļąāļ—āļžāļąāļ’āļ™āļēāļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāđƒāļŠāđ‰āđāļžāļĨāļ•āļŸāļ­āļĢāđŒāļĄ AppMaster āđ€āļžāļ·āđˆāļ­āđ€āļĢāđˆāļ‡āļāļēāļĢāļŠāļĢāđ‰āļēāļ‡āđ€āļāļĄāļ—āļĩāđˆāļĄāļĩāļ„āļĨāļēāļŠāļ•āļąāļ§āļĨāļ°āļ„āļĢāļŦāļĨāļēāļāļŦāļĨāļēāļĒ āđƒāļ™āļāļēāļĢāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™ āļžāļ§āļāđ€āļ‚āļēāļŠāļēāļĄāļēāļĢāļ–āļāļģāļŦāļ™āļ”āļ­āļīāļ™āđ€āļ—āļ­āļĢāđŒāđ€āļŸāļ‹āļŠāđˆāļ§āļ™āļ›āļĢāļ°āļāļ­āļšāļžāļ·āđ‰āļ™āļāļēāļ™ "āļ•āļąāļ§āļĨāļ°āļ„āļĢ" āļžāļĢāđ‰āļ­āļĄāļ”āđ‰āļ§āļĒāļŠāđˆāļ§āļ™āļ›āļĢāļ°āļāļ­āļšāļ—āļĩāđˆāđ€āļ›āđ‡āļ™āļĢāļđāļ›āļ˜āļĢāļĢāļĄāļ—āļĩāđˆāđ€āļāļĩāđˆāļĒāļ§āļ‚āđ‰āļ­āļ‡ āđ€āļŠāđˆāļ™ "Archer" āđāļĨāļ° "Warrior" āļ‹āļķāđˆāļ‡āđāļ•āđˆāļĨāļ°āļĢāļēāļĒāļāļēāļĢāļĄāļĩāļŠāļļāļ”āļ„āļļāļ“āļĨāļąāļāļĐāļ“āļ°āđāļĨāļ°āļžāļĪāļ•āļīāļāļĢāļĢāļĄāļ—āļĩāđˆāđāļ•āļāļ•āđˆāļēāļ‡āļāļąāļ™āļ­āļ­āļāđ„āļ› āļ™āļąāļāļžāļąāļ’āļ™āļēāļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āļĢāļđāļ›āđāļšāļšāļĄāļąāļ“āļ‘āļ™āļēāļāļĢāđ€āļžāļ·āđˆāļ­āđ€āļŠāļĢāļīāļĄāļŸāļąāļ‡āļāđŒāļŠāļąāļ™āļŦāļĢāļ·āļ­āļžāļĨāļąāļ‡āđ€āļžāļīāđˆāļĄāđ€āļ•āļīāļĄ āđ€āļŠāđˆāļ™ āļ„āļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļ–āđƒāļ™āļāļēāļĢāļ§āđˆāļēāļĒāļ™āđ‰āļģ āļšāļīāļ™ āļŦāļĢāļ·āļ­āđƒāļŠāđ‰āļ„āļēāļ–āļē āđ‚āļ”āļĒāļāļēāļĢāļŠāļĢāđ‰āļēāļ‡āļ„āļĨāļēāļŠāļĄāļąāļ“āļ‘āļ™āļēāļāļĢ āđ€āļŠāđˆāļ™ "SwimmingCharacter" "FlyingCharacter" āđāļĨāļ° "SpellcastingCharacter" āļ­āļļāļ›āļāļĢāļ“āđŒāļ•āļāđāļ•āđˆāļ‡āđ€āļŦāļĨāđˆāļēāļ™āļĩāđ‰āļŠāļēāļĄāļēāļĢāļ–āđ€āļžāļīāđˆāļĄāļĨāļ‡āđƒāļ™āļ„āļĨāļēāļŠāļ•āļąāļ§āļĨāļ°āļ„āļĢāđƒāļ”āļāđ‡āđ„āļ”āđ‰āļŦāļĢāļ·āļ­āļĢāļ§āļĄāļāļąāļ™ āļŠāđˆāļ‡āļœāļĨāđƒāļŦāđ‰āļĄāļĩāļĢāļđāļ›āđāļšāļšāļāļēāļĢāđ€āļĨāđˆāļ™āļ—āļĩāđˆāļ‚āļĒāļēāļĒāđāļĨāļ°āļ›āļĢāļąāļšāđāļ•āđˆāļ‡āđ„āļ”āđ‰āļŠāļđāļ‡

āđ€āļĄāļ·āđˆāļ­āļ™āļģāļĢāļđāļ›āđāļšāļšāļĄāļąāļ“āļ‘āļ™āļēāļāļĢāđ„āļ›āđƒāļŠāđ‰ āļˆāļģāđ€āļ›āđ‡āļ™āļ­āļĒāđˆāļēāļ‡āļĒāļīāđˆāļ‡āļ—āļĩāđˆāļˆāļ°āļ•āđ‰āļ­āļ‡āļ›āļāļīāļšāļąāļ•āļīāļ•āļēāļĄāđāļ™āļ§āļ—āļēāļ‡āļ›āļāļīāļšāļąāļ•āļīāļ—āļĩāđˆāļ”āļĩāļ—āļĩāđˆāļŠāļļāļ”āđ‚āļ”āļĒāđ€āļ‰āļžāļēāļ° āļ‹āļķāđˆāļ‡āļĢāļ§āļĄāļ–āļķāļ‡:

  1. āļ•āļĢāļ§āļˆāļŠāļ­āļšāđƒāļŦāđ‰āđāļ™āđˆāđƒāļˆāļ§āđˆāļēāļ„āļĨāļēāļŠāļĄāļąāļ“āļ‘āļ™āļēāļāļĢāđƒāļŠāđ‰āļ­āļīāļ™āđ€āļ—āļ­āļĢāđŒāđ€āļŸāļ‹āđ€āļ”āļĩāļĒāļ§āļāļąāļ™āļāļąāļšāļŠāđˆāļ§āļ™āļ›āļĢāļ°āļāļ­āļšāļ—āļĩāđˆāļŦāļļāđ‰āļĄāđ„āļ§āđ‰ āļŠāļīāđˆāļ‡āļ™āļĩāđ‰āļĢāļąāļšāļ›āļĢāļ°āļāļąāļ™āļāļēāļĢāļ›āļāļīāļšāļąāļ•āļīāļ•āļēāļĄāļŦāļĨāļąāļāļāļēāļĢāļ—āļ”āđāļ—āļ™ Liskov āļ‹āļķāđˆāļ‡āļĢāļ°āļšāļļāļ§āđˆāļēāļ­āđ‡āļ­āļšāđ€āļˆāđ‡āļāļ•āđŒāļ‚āļ­āļ‡āļ‹āļđāđ€āļ›āļ­āļĢāđŒāļ„āļĨāļēāļŠāļ„āļ§āļĢāļ–āļđāļāđāļ—āļ™āļ—āļĩāđˆāļ”āđ‰āļ§āļĒāļ­āđ‡āļ­āļšāđ€āļˆāđ‡āļāļ•āđŒāļ‚āļ­āļ‡āļ„āļĨāļēāļŠāļĒāđˆāļ­āļĒāđ‚āļ”āļĒāđ„āļĄāđˆāļŠāđˆāļ‡āļœāļĨāļāļĢāļ°āļ—āļšāļ•āđˆāļ­āļ„āļ§āļēāļĄāļ–āļđāļāļ•āđ‰āļ­āļ‡āļ‚āļ­āļ‡āđ‚āļ›āļĢāđāļāļĢāļĄ
  2. āļˆāļģāļāļąāļ”āļāļēāļĢāļ•āļāđāļ•āđˆāļ‡āđƒāļŦāđ‰āļ­āļĒāļđāđˆāđƒāļ™āļĢāļ°āļ”āļąāļšāđ€āļ”āļĩāļĒāļ§āļ—āļļāļāļ„āļĢāļąāđ‰āļ‡āļ—āļĩāđˆāđ€āļ›āđ‡āļ™āđ„āļ›āđ„āļ”āđ‰ āđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āļ­āļēāļˆāļ‹āļąāļšāļ‹āđ‰āļ­āļ™āđ€āļāļīāļ™āđ„āļ›āđāļĨāļ°āļĒāļēāļāļ•āđˆāļ­āļāļēāļĢāļšāļģāļĢāļļāļ‡āļĢāļąāļāļĐāļēāļŦāļēāļāđƒāļŠāđ‰āļāļēāļĢāļ•āļāđāļ•āđˆāļ‡āļŦāļĨāļēāļĒāļĢāļ°āļ”āļąāļš
  3. āđƒāļŠāđ‰āļ™āđ‚āļĒāļšāļēāļĒāļāļēāļĢāļ•āļąāđ‰āļ‡āļŠāļ·āđˆāļ­āļ—āļąāđˆāļ§āđ„āļ›āļŠāļģāļŦāļĢāļąāļšāļœāļđāđ‰āļ•āļāđāļ•āđˆāļ‡āđ€āļžāļ·āđˆāļ­āļ›āļĢāļąāļšāļ›āļĢāļļāļ‡āļ„āļ§āļēāļĄāđ‚āļ›āļĢāđˆāļ‡āđƒāļŠāļ‚āļ­āļ‡āļĢāļ°āļšāļšāđāļĨāļ°āļ—āļģāđƒāļŦāđ‰āļāļĢāļ°āļšāļ§āļ™āļāļēāļĢāđāļāđ‰āđ„āļ‚āļˆāļļāļ”āļšāļāļžāļĢāđˆāļ­āļ‡āļ‡āđˆāļēāļĒāļ‚āļķāđ‰āļ™

āđ‚āļ”āļĒāļŠāļĢāļļāļ› āļĢāļđāļ›āđāļšāļšāļĄāļąāļ“āļ‘āļ™āļēāļāļĢāđ€āļ›āđ‡āļ™āđ€āļ—āļ„āļ™āļīāļ„āļ—āļĩāđˆāļĄāļĩāļ„āļļāļ“āļ„āđˆāļēāđƒāļ™āļŠāļ–āļēāļ›āļąāļ•āļĒāļāļĢāļĢāļĄāļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāđāļĨāļ°āļ āļđāļĄāļīāļ—āļąāļĻāļ™āđŒāļ‚āļ­āļ‡āļĢāļđāļ›āđāļšāļšāļ—āļĩāđˆāļŠāđˆāļ‡āđ€āļŠāļĢāļīāļĄāļ„āļ§āļēāļĄāļĒāļ·āļ”āļŦāļĒāļļāđˆāļ™ āļ„āļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļ–āđƒāļ™āļāļēāļĢāļ‚āļĒāļēāļĒ āđāļĨāļ°āļ„āļ§āļēāļĄāđ€āļ›āđ‡āļ™āđ‚āļĄāļ”āļđāļĨāļ āļēāļĒāđƒāļ™āļĢāļ°āļšāļš āļ”āđ‰āļ§āļĒāļāļēāļĢāđƒāļŠāđ‰āļ›āļĢāļ°āđ‚āļĒāļŠāļ™āđŒāļˆāļēāļāļžāļĨāļąāļ‡āļ‚āļ­āļ‡āļ­āļ‡āļ„āđŒāļ›āļĢāļ°āļāļ­āļšāļ‚āļ­āļ‡āļ§āļąāļ•āļ–āļļ Decorator Pattern āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļŠāļēāļĄāļēāļĢāļ–āļ‚āļĒāļēāļĒāļŦāļĢāļ·āļ­āļ›āļĢāļąāļšāđ€āļ›āļĨāļĩāđˆāļĒāļ™āļžāļĪāļ•āļīāļāļĢāļĢāļĄāļ‚āļ­āļ‡āļ§āļąāļ•āļ–āļļāđ„āļ”āđ‰āđāļšāļšāđ„āļ”āļ™āļēāļĄāļīāļāđƒāļ™āļ‚āļ“āļ°āļ—āļĩāđˆāļĒāļąāļ‡āļ„āļ‡āļĢāļąāļāļĐāļēāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļ‚āļ­āļ‡āļ§āļąāļ•āļ–āļļāđ€āļ­āļēāđ„āļ§āđ‰ āļĢāļđāļ›āđāļšāļšāļ™āļĩāđ‰āđƒāļŠāđ‰āļāļąāļ™āļ­āļĒāđˆāļēāļ‡āđāļžāļĢāđˆāļŦāļĨāļēāļĒāđƒāļ™āļ—āļēāļ‡āļ›āļāļīāļšāļąāļ•āļī āļ”āļąāļ‡āđāļŠāļ”āļ‡āđƒāļŦāđ‰āđ€āļŦāđ‡āļ™āļˆāļēāļāļāļēāļĢāđƒāļŠāđ‰āđƒāļ™āđ„āļĨāļšāļĢāļēāļĢāļĩāļāļēāļĢāđ€āļ‚āļĩāļĒāļ™āđ‚āļ›āļĢāđāļāļĢāļĄāļĄāļēāļ•āļĢāļāļēāļ™ āđ€āļŠāđˆāļ™ āđ„āļĨāļšāļĢāļēāļĢāļĩāļ­āļīāļ™āļžāļļāļ•/āđ€āļ­āļēāļ—āđŒāļžāļļāļ•āļ‚āļ­āļ‡ Java āļ‹āļķāđˆāļ‡āļĄāļĩāļāļēāļĢāđƒāļŠāđ‰āļ•āļąāļ§āļ•āļāđāļ•āđˆāļ‡āđ€āļžāļ·āđˆāļ­āļ›āļĢāļąāļšāđ€āļ›āļĨāļĩāđˆāļĒāļ™āļžāļĪāļ•āļīāļāļĢāļĢāļĄāļ‚āļ­āļ‡āļŠāļ•āļĢāļĩāļĄāļ­āļīāļ™āļžāļļāļ•āđāļĨāļ°āđ€āļ­āļēāļ—āđŒāļžāļļāļ• āđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļāđāļžāļĨāļ•āļŸāļ­āļĢāđŒāļĄ no-code āļ­āļąāļ™āļ—āļĢāļ‡āļžāļĨāļąāļ‡āļ­āļĒāđˆāļēāļ‡ AppMaster āļĒāļąāļ‡āļ„āļ‡āļ›āļāļīāļ§āļąāļ•āļīāļāļĢāļ°āļšāļ§āļ™āļāļēāļĢāļžāļąāļ’āļ™āļēāļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāļ­āļĒāđˆāļēāļ‡āļ•āđˆāļ­āđ€āļ™āļ·āđˆāļ­āļ‡ āļāļēāļĢāđƒāļŠāđ‰āļĢāļđāļ›āđāļšāļšāļāļēāļĢāļ­āļ­āļāđāļšāļšāļ—āļĩāđˆāđ€āļŠāļ·āđˆāļ­āļ–āļ·āļ­āđ„āļ”āđ‰ āđ€āļŠāđˆāļ™ Decorator Pattern āļĒāļąāļ‡āļ„āļ‡āđ€āļ›āđ‡āļ™āļŠāđˆāļ§āļ™āļŠāļģāļ„āļąāļāđƒāļ™āļāļēāļĢāļŠāļĢāđ‰āļēāļ‡āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļ„āļļāļ“āļ āļēāļžāļŠāļđāļ‡ āļšāļģāļĢāļļāļ‡āļĢāļąāļāļĐāļēāđ„āļ”āđ‰ āđāļĨāļ°āļ›āļĢāļąāļšāļ‚āļ™āļēāļ”āđ„āļ”āđ‰