עקרון פתיחות/סגירות

ערך ללא מקורות
בערך זה אין מקורות ביבליוגרפיים כלל, לא ברור על מה מסתמך הכתוב וייתכן שמדובר במחקר מקורי.
אנא עזרו לשפר את אמינות הערך באמצעות הבאת מקורות לדברים ושילובם בגוף הערך בצורת קישורים חיצוניים והערות שוליים.
אם אתם סבורים כי ניתן להסיר את התבנית, ניתן לציין זאת בדף השיחה.
ערך ללא מקורות
בערך זה אין מקורות ביבליוגרפיים כלל, לא ברור על מה מסתמך הכתוב וייתכן שמדובר במחקר מקורי.
אנא עזרו לשפר את אמינות הערך באמצעות הבאת מקורות לדברים ושילובם בגוף הערך בצורת קישורים חיצוניים והערות שוליים.
אם אתם סבורים כי ניתן להסיר את התבנית, ניתן לציין זאת בדף השיחה.

בתכנות מונחה-עצמים, עקרון פתיחות/סגירותאנגלית: Open/Closed Principle ובקיצור OCP) הוא עיקרון בעיצוב תוכנה, הקובע כי על רכיב תוכנה להיות "פתוח" ו"סגור" בכל רגע נתון.[1] כלומר, הרכיב צריך לאפשר את הרחבתו (פתיחות) ובה-בעת לא לאפשר שינויים בו, מלבד דרך ההרחבות (סגירות). אם נרצה להרחיב את הרכיב בפונקציונליות נוספת, נוכל לעשות זאת ללא שום שינוי ברכיב עצמו. שמירה על עיקרון זה מבטיחה פיתוח יעיל הלוקח בחשבון תוספות עתידיות.[2]

לדוגמה, על מנת לממש את העיקרון ברמת המחלקה, יש להשתמש בהפשטה (אבסטרקציה) ופולימורפיזם. בניגוד למצב הקלאסי שבו קוד חדש יכול להשתמש בקוד ישן, פולימורפיזם מאפשר גם לקוד ישן להשתמש בקוד חדש, ובאופן כללי יותר פולימורפיזם מאפשר להרחיב את הקוד הישן.

עקרון הפתיחות/סגירות של מאייר

המונח "עקרון פתיחות/סגירות" הופיע לראשונה בספרו של ברטרנד מאייר "Object-Oriented Software Construction",[3] משנת 1988.

על פי מאייר:

  • מודול תכנה יחשב לפתוח אם הוא עדיין זמין להרחבה. לדוגמה, צריך להיות אפשרי להוסיף שדות למבני הנתונים שהוא מכיל, או אלמנטים חדשים למכלול הפונקציות שהוא מבצע.
  • מודול תכנה יחשב לסגור אם הוא זמין לשימוש על ידי מודולים אחרים, ובהנחה שהמודול קיבל תיאור מוגדר היטב ויציב (באמצעות ממשק נכון והסתרת מידע).

בתקופה שבה מאייר כתב את הספר, הוספת שדות או פונקציות לספריית תכנה דרשה בהכרח שינויים בתוכנות שהסתמכו על ספרייה זו. מאייר הציע פתרון לסוגיה זו בהסתמך על הרעיון של ירושה בתכנות מונחה-עצמים.[1]

עקרון פתיחות/סגירות פולימורפי

במהלך שנות ה-90, עקרון ה"פתיחות/סגירות" הוגדר מחדש באופן מקובל ביחס לשימוש בממשקים מופשטים, שבהם ניתן לשנות את המימושים וליצור באופן פולימורפי מימושים תחליפיים.

בניגוד להגדרה של מאייר, הגדרה זו דוגלת בירושה ממחלקות בסיס מופשטות. ניתן לעשות שימוש חוזר במפרטי ממשק באמצעות ירושה אך לא רצוי לעשות שימוש חוזר במימוש. הממשק הקיים סגור לשינויים והטמעות חדשות חייבות, לכל הפחות, ליישם את הממשק הזה.

מאמרו של רוברט סי מרטין מ-1996 "The Open-Closed Principle"[3] היה אחד הכתבים המכריעים שנקטו גישה זו. בשנת 2001 קרייג לרמן קשר את עקרון ה"פתיחות/סגירות" לעיקרון של אליסטר קוקבורן שנקרא Protected Variations, ולדיון של דייוויד פרנס על הסתרת מידע.[4]

ראו גם

הערות שוליים

  1. ^ 1 2 Bertrand Meyer, Object oriented software construction, 18. [print.], New York: Prentice-Hall, 1994, Prentice Hall international series in computer science, ISBN 978-0-13-629049-0
  2. ^ kexugit, Patterns in Practice: The Open Closed Principle, learn.microsoft.com, ‏2019-09-10 (באנגלית אמריקאית)
  3. ^ 1 2 Robert C. Martin, The Open-Closed Principle, The C++ Report, 1996
  4. ^ Craig Larman, Protected Variation: The Importance of Being Closed, May–June 2001
ערך זה הוא קצרמר בנושא מדעי המחשב. אתם מוזמנים לתרום לוויקיפדיה ולהרחיב אותו.

Read other articles:

Jiong dari Xia Sebuah bejana dari Dinasti Xia Hanzi: 扃 Alih aksara Mandarin - Hanyu Pinyin: Jiōng Ayahanda: Xie dari XiaKeturunan: Jǐn Artikel ini memuat Teks Tionghoa. Tanpa bantuan render yang baik, anda mungkin akan melihat tanda tanya, kotak-kotak, atau simbol lainnya bukannya Karakter Tionghoa. Jiong (1831 – 1810 SM) (Hanzi: 扃; Pinyin: Jiōng) merupakan raja kedua belas dari semi legendaris Dinasti Xia.[1] Keluarga Jiōng adalah putra Raja Xie[2] dan ...

 

Elizabeth I dari InggrisPotret Darnley ElizabethRatu Inggris dan IrlandiaBerkuasa17 November 1558 – 24 Maret 1603Penobatan15 Januari 1559PendahuluMary IPenerusJames IInformasi pribadiPemakamanBiara WestminsterWangsaWangsa TudorWangsaDinasti TudorAyahHenry VIIIIbuAnne Boleyn Elizabeth I (7 September 1533 – 24 Maret 1603) adalah ratu Kerajaan Inggris dan Irlandia dari 17 November 1558 hingga kematiannya. Ia kadang-kadang dijuluki The Virgin Queen (Ratu Perawan), Gloriana, atau...

 

Artikel ini tidak memiliki referensi atau sumber tepercaya sehingga isinya tidak bisa dipastikan. Tolong bantu perbaiki artikel ini dengan menambahkan referensi yang layak. Tulisan tanpa sumber dapat dipertanyakan dan dihapus sewaktu-waktu.Cari sumber: Gerakan Non-Blok – berita · surat kabar · buku · cendekiawan · JSTOR Gerakan Non-Blok (GNB)Non-Aligned MovementNegara-negara anggota Gerakan Non-Blok (2005). Warna biru muda merupakan negara peninjau.Bir...

Intersection of microbiology and geology The coccolithophore Gephyrocapsa oceanica may become an important carbon sink as the acidity of the ocean increases.[1] Geomicrobiology is the scientific field at the intersection of geology and microbiology and is a major subfield of geobiology. It concerns the role of microbes on geological and geochemical processes and effects of minerals and metals to microbial growth, activity and survival.[2] Such interactions occur in the geosphe...

 

Parliamentary constituency in the United Kingdom, 1885–1918 Birmingham NorthFormer Borough constituencyfor the House of Commons1885–1918SeatsOneCreated fromBirminghamReplaced byBirmingham Ladywood Birmingham North was a parliamentary constituency in the city of Birmingham, England. It returned one Member of Parliament (MP) to the House of Commons of the Parliament of the United Kingdom, elected by the first-past-the-post voting system. The constituency was created in upon the abolition of...

 

Artikel ini tidak memiliki referensi atau sumber tepercaya sehingga isinya tidak bisa dipastikan. Tolong bantu perbaiki artikel ini dengan menambahkan referensi yang layak. Tulisan tanpa sumber dapat dipertanyakan dan dihapus sewaktu-waktu.Cari sumber: Gunung Salak – berita · surat kabar · buku · cendekiawan · JSTOR Artikel ini bukan mengenai Palma atau Taman Nasional. Untuk sejenis palma dengan buah yang biasa dimakan atau taman nasional di Jawa Barat...

Leang Samongkeng IVGua Samongkeng IV, Gua Samungkeng IV, Gua Samongkeng 4, Gua Samungkeng 4LokasiKampung Bonto Labbu, Lingkungan Leang-Leang, Kelurahan Leang-Leang, Kecamatan Bantimurung, Kabupaten Maros, Sulawesi Selatan, IndonesiaGeologikarst / batu kapur / batu gampingSitus webvisit.maroskab.go.idcagarbudaya.kemdikbud.go.idkebudayaan.kemdikbud.go.id/bpcbsulsel/ Wisata Gua PrasejarahLeang Samongkeng IV Informasi Lokasi Kampung Bonto Labbu, Lingkungan Leang-Leang, Kelurahan Leang-Leang, Keca...

 

Richard Strauss in 1938 The table below shows an incomplete list of compositions by Richard Strauss. Catalogues Only 88 compositions by the German composer Richard Strauss (1864–1949) have been assigned opus numbers; these numbers are shown in the table below in the column Op. Two volumes of a catalogue of the remaining works were published by Erich Hermann Mueller von Asow (1892–1964) in 1959.[1] After von Asow's death Franz Trenner [de] (d. 1993) and Alfons Ott (d....

 

إينوسنت الأول معلومات شخصية الميلاد قيمة مجهولةألبانو لاتسيالي الوفاة مارس 13, 0417روما الديانة الكنيسة الرومانية الكاثوليكية الأب أناستاسيوس الأول  مناصب بابا الفاتيكان[1] (40 )   في المنصب402  – 12 مارس 417  أناستاسيوس الأول  زوسيموس  الحياة العملية المهنة...

Perang Tiongkok-Jepang PertamaPerang Tiongkok-Jepang Pertama, peperangan besar dan pergerakan tentaraTanggal1 Agustus 1894–17 April 1895LokasiKorea, Manchuria, Taiwan, Laut KuningHasil kemenangan Jepang Dinasti Qing kehilangan wibawanya secara drastis[1] Korea tidak lagi menjadi Negara pembayar upeti bagi Tiongkok[2] Semenanjung Korea jatuh kedalam pengaruh kekaisaran Jepang Perjanjian ShimonosekiPerubahanwilayah Tiongkok Qing kehilangan kendali atas Semenanjung Korea oleh J...

 

First Premier of the People's Republic of China In this Chinese name, the family name is Zhou. Zhou Enlai周恩来Official portrait, 1950s1st Premier of the People's Republic of ChinaIn office27 September 1954 – 8 January 19761st vice-premierDong BiwuChen YunLin BiaoDeng XiaopingPreceded byMao Zedong (as Chairman of the People's Central Government of People's Republic of China)Himself (as Premier of Government Administration Council of the Central People's Government)Succeeded byHua Guofeng...

 

Jim CourierKebangsaan United StatesTempat tinggalNew York, U.S.Tinggi6 ft 1 in (1,85 m)Berat83 kg (183 pon)Memulai pro1988Pensiun2000Tipe pemainTangan Kanan; dua tangan ketika back-handTotal hadiah$14,034,132TunggalRekor (M–K)506–237Gelar23 (ke 27 dari semua peringkat)Peringkat tertinggi1 (20 Februari 1992)Hasil terbaik di Grand Slam (tunggal)Australia TerbukaW (1992, 1993)Prancis TerbukaW (1991, 1992)WimbledonF (1993)AS TerbukaF (1991)GandaRekor (M–K)...

The BRT Kota Kinabalu is a bus rapid transit (BRT) project to improve bus services in the city of Kota Kinabalu.[1][2][3][4] An allocation of around MYR1 billion has been provided by the Malaysian government under the 2016 Malaysian Budget to implement the project.[5][6] Currently, the project is under studies between the federal and state governments and it was predicted to be finished in 2020.[7][8] It has also been lauded by ...

 

Discrete unit of communication For other uses, see Message (disambiguation). Not to be confused with Massage or Messuage. Geheime Korrespondenz (secret correspondence), by Carl von Bergen A headstone message in the Jerusalem British World War I Cemetery on Mount Scopus A message is a discrete unit of communication intended by the source for consumption by some recipient or group of recipients. A message may be delivered by various means, including courier, telegraphy, or an electronic bus. A ...

 

Disambiguazione – Se stai cercando altri significati, vedi Santo (disambigua). Disambiguazione – Santi rimanda qui. Se stai cercando altri significati, vedi Santi (disambigua). Disambiguazione – Santa rimanda qui. Se stai cercando altri significati, vedi Santa (disambigua). Questa voce o sezione sull'argomento religione non cita le fonti necessarie o quelle presenti sono insufficienti. Puoi migliorare questa voce aggiungendo citazioni da fonti attendibili secondo l...

Vector operator in vector calculus This article is about divergence in vector calculus. For divergence of infinite series, see Divergent series. For divergence in statistics, see Divergence (statistics). For other uses, see Divergence (disambiguation). Part of a series of articles aboutCalculus ∫ a b f ′ ( t ) d t = f ( b ) − f ( a ) {\displaystyle \int _{a}^{b}f'(t)\,dt=f(b)-f(a)} Fundamental theorem Limits Continuity Rolle's theorem Mean value theorem Inverse function t...

 

LouisIl principe Louis nel 2023Principe del Regno UnitoStemma Nome completoLouis Arthur Charles TrattamentoAltezza reale NascitaLondra, 23 aprile 2018 (6 anni) PadreWilliam, principe di Galles MadreCatherine Middleton ReligioneAnglicanesimo Louis di Galles (Louis Arthur Charles Mountbatten-Windsor[1]; Londra, 23 aprile 2018) è un principe britannico, membro della famiglia reale Windsor, terzogenito di William, principe di Galles, e Catherine Middleton. È quarto nella line...

 

إدوارد نابلينغ معلومات شخصية الميلاد 20 مارس 1909(1909-03-20)فيكتوريا، الولايات المتحدة الوفاة 17 مارس 2000مقاطعة أرلنغتون، الولايات المتحدة الجنسية أمريكي عضو في الأكاديمية الوطنية للعلوم،  والأكاديمية الأمريكية للفنون والعلوم  الحياة العملية المدرسة الأم جامعة تكساس إيه �...

Questa voce sull'argomento cestisti statunitensi è solo un abbozzo. Contribuisci a migliorarla secondo le convenzioni di Wikipedia. Segui i suggerimenti del progetto di riferimento. Brandon CostnerNazionalità Stati Uniti Altezza206 cm Peso107 kg Pallacanestro RuoloAla grande Termine carriera2021 CarrieraGiovanili 2001-2005Seton Hall Preparatory School2005-2009 NCSU Wolfpack Squadre di club 2009-2010 Mons-Hainaut2010-2011 Utah Flash49 (739)2011-2012 L.A. D-Fend...

 

The Column of Santa Felicita is a monumental column with Corinthian capital standing in front of the church of Santa Felicita in Florence, region of Tuscany, Italy. Column of Santa Felicita History Putatively the column was erected to celebrate the 13th-century victories or crusades led by the Dominican friar Peter of Verona against the Cathar heresy in Northern Italy.[1] In 1484, the capital had a terracotta statue Peter of Verona preaching, as he had to the Florentines and organizin...