JavaRush /Java блогу /Random-KY /Javaдагы дизайн үлгүлөрү [1-бөлүк]
Ivan Zaitsev
Деңгээл
Киев

Javaдагы дизайн үлгүлөрү [1-бөлүк]

Группада жарыяланган
Бул Javaдагы дизайн үлгүлөрү боюнча кыска макала. Үлгүлөрдү ишке ашыруу болбойт, javaда бар үлгүлөрдүн тизмеси жана алардын кыскача мазмуну гана бар. Бул кайталоо жана жалпылоо үчүн предметте болгондор үчүн пайдалуу болот. Же, тескерисинче, үлгүлөргө биринчи жолу кайрылгандар үчүн - тереңирээк казуудан мурун, теманы биринчи карап чыгуу үчүн. Дизайн үлгүлөрү (дизайн үлгүлөрү) программалоодо көп кездешүүчү көйгөйлөрдү колдонууга даяр чечимдер болуп саналат. Бул долбоорго туташа турган класс же китепкана эмес, бул дагы бир нерсе. Ар бир конкреттүү учурда тапшырмага ылайыктуу дизайн үлгүлөрү ишке ашырылат. Мындай үлгү туура эмес же туура эмес маселеге колдонулса, көптөгөн көйгөйлөрдү жаратышы мүмкүн экенин эстен чыгарбоо керек. Бирок, туура колдонулган үлгү оңой жана жөнөкөй маселени чечүүгө жардам берет. Java тorндеги дизайн үлгүлөрү [1-бөлүк] - 1Үлгү түрлөрү :
  • жаратуу
  • структуралык
  • жүрүм-турумдук
Түзүү үлгүлөрү an objectтерди ыңгайлуу жол менен түзүүгө мүмкүндүк берүүчү инициализация механизмдерин камсыз кылат. Структуралык моделдер класстар менен an objectтердин ортосундагы мамилелерди аныктап, алардын чогуу иштешине мүмкүндүк берет. Жүрүм-турум үлгүлөрү субъекттердин ортосундагы өз ара аракеттенүүнү жеңилдетүү үчүн колдонулат. Генераторлор :
  • Singleton - класстын бир инстанциясын түзүүнү чектейт жана анын жалгыз an objectине жетүүнү камсыз кылат.
  • Фабрика - Бизде бир нече субкласстары бар супер класс болгондо колдонулат жана киргизүүнүн негизинде биз субкласстан бирин кайтарышыбыз керек.
  • Абстракттуу фабрика - фабриканы түзүү үчүн супер фабриканы колдонуңуз, андан кийин an objectтерди түзүү үчүн түзүлгөн фабриканы колдонуңуз.
  • Builder - жөнөкөй an objectтерди колдонуу менен татаал an objectти түзүү үчүн колдонулат. Бара-бара кичинекей жана жөнөкөй нерседен чоңураак нерсени жаратат.
  • Прототип - жакшыраак иштеши менен кайталанган an objectти түзүүгө жардам берет, анын ордуна жаңы an objectтин кайтарылган клону түзүлөт.
Структуралык :
  • Адаптер - эки бири-бирине дал келбеген an objectтердин ортосундагы конвертер. Адаптердин үлгүсүн колдонуу менен биз эки туура келбеген интерфейсти бириктире алабыз.
  • Композит - дарак структурасын көрсөтүү үчүн бир классты колдонот.
  • Прокси - башка класстын функционалдуулугун билдирет.
  • Flyweight - Көптөгөн окшош an objectтерди түзүүнүн ордуна, an objectтер кайра колдонулат.
  • Фасад - кардар үчүн жөнөкөй интерфейсти камсыз кылат, ал эми кардар система менен өз ара аракеттенүү үчүн интерфейсти колдонот.
  • Bridge - конкреттүү класстарды интерфейсти ишке ашыруу класстарынан көз карандысыз кылат.
  • Декоратор - бар an objectиге анын структурасына кирбестен жаңы функцияларды кошот.
Жүрүм-турум :
  • Template Method – алгоритмдин негизин аныктоо жана мураскорлорго алгоритмдин айрым кадамдарын бүтүндөй структурасын өзгөртпөстөн кайра аныктоого мүмкүндүк берүү.
  • Медиатор - Ар кандай класстар ортосундагы бардык байланыштарды тейлеген ортомчу классты камсыз кылат.
  • Жоопкерчorктин чынжырчасы - суроо-талапты бир нече an objectилер иштетиши мүмкүн болгон учурда, суроо-талапты жөнөтүүчүнүн аны алуучуга катуу көз карандылыгын болтурбоого мүмкүндүк берет.
  • Байкоочу - кээ бир an objectтерге башка an objectтерде болуп жаткан окуяларга байкоо жүргүзүүгө жана реакция кылууга мүмкүндүк берет.
  • Стратегия - стратегиянын алгоритмин программаны аткаруу учурунда өзгөртүүгө болот.
  • Буйрук - Команда интерфейси белгилүү бир аракетти аткаруу ыкмасын жарыялайт.
  • Статус - an object өзүнүн абалына жараша жүрүм-турумун өзгөртө алат.
  • Визит - байланыштуу an objectтерди топторго салуу боюнча операцияларды жөнөкөйлөтүү үчүн колдонулат.
  • Котормочу - көйгөйлүү домен үчүн жөнөкөй тил грамматикасын аныктайт.
  • Итератор - коллекция an objectинин элементтерине анын негизги өкүлчүлүгүн билбестен ырааттуу түрдө жетет.
  • Memento (Keeper) - an objectтин абалын сактоо үчүн колдонулат, бул абалды кийинчерээк калыбына келтирүүгө болот.
JavaRush курсун окуп жатып, сиз бул тизмеден бир нече үлгүлөргө туш болосуз. Мен үлгү көйгөйлөрүн сунуштайм: 1522 , 1530 , 1631 , big01 , 2912 , 3107 ... Дизайн үлгүлөрүн акылдуу колдонуу codeду тейлөө ишенимдүүлүгүн жогорулатууга алып келет, анткени жалпы көйгөйгө жакшы чечим болуу менен бирге, дизайн үлгүлөрү тарабынан таанылышы мүмкүн башка иштеп чыгуучулар , бул белгилүү бир code менен иштөө убактысын кыскартат. Javaдагы дизайн үлгүлөрү [2-бөлүк]
Комментарийлер
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION