# Ochiq Yopiq Tamoyili(O/CP)

### Oldi oynasi singan mashinani

Kechagina GMdan yangi malibuni olib chiqdingiz. Qishloqni bolalarini ko'rmaysizmi, sho'xda! Uyga kirib ketganingizda yangi moshin(mashina)ni oldi oynalarini sindirishibdi. Nachora, endi uni ustaga ko'rsatish kerak. Ustaga bordingiz, usta bir - pasta yangisiga almashtirib berdi. Baxtingizga GMdagilar, mashinani derazasini boshqa qismlarga ta'sir o'tkazmasdan to'g'rilaydigan qilib ishlab chiqishgan ekan. Ya'ni derazani to'g'rilash uchun, motorni yangilash shart emas. Bu ikki qism bir - biriga bog'lanmagan.

Endi dasturlashga qaytamiz, bu Bertrand Mayer degan akamiz yaxshiyam Ochiq Yopiq Tamoyili(Open Closed Principle)ni ishlab chiqgan ekan. Aks holda, dasturni bir qismiga o'zgartirish kiritish, bizdan boshqa qismini to'g'rilashni ham talab qilishi mumkin edi. Ushbu tamoyilni qo'llash orqali, mavjud kodga ta'sir o'tkazmasdan, unga qo'shimchalar kiritsh imkoniyati paydo bo'ladi.&#x20;

### Ochiq Yopiq Tamoyili nima?

> Dasturiy ta'minot sub'ektlari qo'shimcha qo'shish uchun ochiq bo'lishi va o'zgartirish uchun yopiq bo'lishi kerak.
>
> **Robert C. Martin**

Davomi bor...


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.dot-net.uz/c-.net/.net-dasturchi/clean-architecture/design-tamoyillari/solid/ochiq-yopiq-tamoyili-o-cp.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
