Хрупкий базовый класс

Хрупкий базовый класс — фундаментальная проблема объектно-ориентированного программирования.

Описание

Проблема хрупкого базового класса заключается в том, что малейшие правки в деталях реализации базового класса могут привнести ошибку в производные классы. В худшем случае это приводит к тому, что любая успешная модификация базового класса требует предварительного изучения всего дерева наследования, и зачастую невозможна (без создания ошибок) даже в этом случае.

Проблема хрупкого базового класса сильно снижает ценность наследования.

В общем случае проблема не решаема, и является одним из существенных недостатков ООП.

Проблема может быть обобщена и на системы, разработанные не на ООП-языках, и не использующие понятие «класс». Любое повторное использование готового кода (без копирования) как части нового кода может повлечь за собой такую проблему.

В современных парадигмах программирования, разработанных под влиянием ООП, используются понятия «связи» и «связность», и качество дизайна определяется управлением связями, что, в частности, подразумевает под собой ослабление связей. Наследование же в понимании ООП создает сильнейшую возможную связь, и, таким образом, должно использоваться с большой осторожностью.

Высокая сложность разработки фреймворков по сравнению с разработкой инструментариев, описанная в книге о паттернах так называемой «банды четырёх», определяется, в частности, легким появлением «хрупкого базового класса» во фреймворках и сложностью борьбы с этой проблемой.

Возможные методы борьбы

Замена наследования агрегацией. При агрегации вложенный объект базового класса описывается явно как часть объекта производного класса, и производный класс может пользоваться только публичным интерфейсом базового класса. Таким образом, производный класс не может зависеть от деталей реализации базового класса, что решает проблему.

См. также

Read other articles:

У этого термина существуют и другие значения, см. Тбилиси (значения). Запрос «Тифлис» перенаправляется сюда; об астероиде см. (753) Тифлис. ГородТбилисигруз. თბილისი Флаг Герб 41°43′ с. ш. 44°48′ в. д.HGЯO Страна  Грузия Мэр Каха Каладзе История и география Основа

 

Pekerja menyingkirkan tanda jalan di bekas Adolf Hitler StrasseSebuah swastika di lapangan pertemuan Partai Nazi dihancurkan dengan peledak, sebagai bagian dari inisiatif denazifikasi. Denazifikasi (Jerman: Entnazifizierung) adalah sebuah inisiatif Sekutu untuk membebaskan kehidupan budaya, ekonomi, politik, media, dan peradilan masyarakat Jerman dan Austria dari sisa-sisa ideologi Sosialis Nasional Nazi. Hal ini dilakukan secara khusus dengan membasmi mereka yang terlibat, memiliki posis...

 

Erich Knauf Erich Knauf (21 February 1895 – 2 May 1944) was a German journalist, writer, and songwriter. He was executed for making jokes about the Nazi regime. Biography Knauf was born in Meerane, Saxony, the son of a tailor and party secretary of the Social Democratic Party. The family later moved to Gera, where he learned the typesetting trade. After the First World War, Knauf went to university, studying history, political economy and culture.[1] He was a close friend of Erich K...

Yehezkiel 18Kitab Yehezkiel 30:13–18 pada suatu naskah bahasa Inggris dari awal abad ke-13, MS. Bodl. Or. 62, fol. 59a. Teks bahasa Ibrani disalin sebagaimana dalam kodeks bahasa Latin. Terjemahan bahasa Latin ditulis di bagian marjin.KitabKitab YehezkielKategoriNevi'imBagian Alkitab KristenPerjanjian LamaUrutan dalamKitab Kristen26← pasal 17 pasal 19 → Yehezkiel 18 (disingkat Yeh 18) adalah bagian dari Kitab Yehezkiel dalam Alkitab Ibrani dan Perjanjian Lama di Alkitab Kristen....

 

Ali Riley Datos personalesNombre completo Alexandra Lowe RileyApodo(s) AliNacimiento Los Ángeles, California30 de octubre de 1987 (36 años)País Estados UnidosNacionalidad(es) EstadounidenseNeozelandesaAltura 1,64 m (5′ 5″)Carrera deportivaDeporte FútbolClub profesionalDebut deportivo 2009(Pali Blues)Club Angel City FCLiga National Women's Soccer LeaguePosición DefensaCentrocampistaSelección nacionalSelección NZL Nueva ZelandaDebut 2007Part. (goles) 144 (2)T...

 

Мул Охоронний статус Свійський Біологічна класифікація Царство: Тварини (Animalia) Тип: Хордові (Chordata) Клада: Синапсиди (Synapsida) Клас: Ссавці (Mammalia) Ряд: Непарнопалі (Perissodactyla) Родина: Коневі (Equidae) Триба: Equini Рід: Кінь (Equus) Вид: E. asinus♂ × E. caballus♀ Синоніми Equus mulus Вікісховище: Mules Мул ...

Foto peserta diklat prajabatan Calon Pegawai Negeri Sipil Golongan III Angkatan 5 lingkup Kemenristekdikti dan KPU daerah Maluku tahun 2019 Pelatihan Paling Dasar Calon Pegawai Negeri Sipil atau disingkat Latsar CPNS atau cukup disebut Latsar adalah syarat bagi Calon Pegawai Negeri Sipil (CPNS) untuk diangkat menjadi Pegawai Negeri Sipil (PNS). Sebelum tahun 2015 dikenal sebagai Pendidikan dan Pelatihan Prajabatan atau disingkat Diklat Prajabatan atau cukup disebut Prajab. Dalam Peraturan Pem...

 

Video game engine This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages) This article needs to be updated. Please help update this article to reflect recent events or newly available information. (February 2015) This article may require cleanup to meet Wikipedia's quality standards. The specific problem is: Poor Grammar, outdated Info. Please help improve this article if you can. (February 2015)...

 

Indonesian and Malay term for independent or free A 1985 painting in Indonesia commemorating the Independence of Indonesia bearing the words Merdeka! Tunku Abdul Rahman as he proclaimed Malaysian independence on 31 August 1957, chanting Merdeka! seven times The National Monument stands in the middle of Medan Merdeka or Independence Square, Jakarta, Indonesia. Merdeka (Jawi: مرديک; Indonesian: [mərˈdɛka], Malay: [mərdeka]) is a term in Indonesian and Malay which means ...

Untuk kegunaan lain, lihat Jura (disambiguasi). Lambang Jura Lokasi Jura di Prancis Jura [ʒyˈʀa] (selengkapnya Département du Jura) adalah departemen di Prancis . Terletak di Prancis timur di kawasan Franche Comté, dekat perbatasan Swiss, tepatnya Kanton Jura. Ekonomi Di departemen ini terletak pabrik anggur Jura. Kota-kota Dole Lons-le-Saunier Arbois Salins-les-Bains Pembagian administratif Arrondissement Penduduk(1999) Wilayah(km²) Kepadatan penduduk Kanton Kotamadya Dole 77.078 1180 ...

 

Untuk pulau di Sulawesi Utara, lihat Pulau Bangka, Sulawesi Utara. Bangka ڤولو بڠکTopografi Pulau BangkaGeografiLokasiAsia TenggaraKoordinat2°15′S 106°00′E / 2.250°S 106.000°E / -2.250; 106.000Koordinat: 2°15′S 106°00′E / 2.250°S 106.000°E / -2.250; 106.000Luas11.693,54 km2Peringkat luas68thTitik tertinggiGunung Maras (699 m)PemerintahanNegaraIndonesiaKabupaten/KotaPangkal Pinang, Bangka, Bangka Tengah,...

 

Software product This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages) This article may rely excessively on sources too closely associated with the subject, potentially preventing the article from being verifiable and neutral. Please help improve it by replacing them with more appropriate citations to reliable, independent, third-party sources. (June 2015) (Learn how and when to remove this tem...

NFL stadium in Cleveland, Ohio, US FirstEnergy Stadium redirects here. For other uses, see FirstEnergy Stadium (disambiguation). Cleveland Browns StadiumInterior and exterior views in 2016Cleveland Browns StadiumLocation in ClevelandShow map of ClevelandCleveland Browns StadiumLocation in OhioShow map of OhioCleveland Browns StadiumLocation in the United StatesShow map of the United StatesFormer namesFirstEnergy Stadium (2013–2023)Address100 Alfred Lerner WayLocationCleveland, OhioCoordinat...

 

British actor and musician (born 1983) Not to be confused with Jonny Flynn. For other people named Johnny Flynn, see Johnny Flynn (disambiguation). Johnny FlynnBorn (1983-03-14) 14 March 1983 (age 40)Johannesburg, South AfricaNationalityBritishOccupations Actor musician singer-songwriter Years active2005–presentSpouse Beatrice Minns ​ ​(m. 2011)​Children3Websitejohnny-flynn.com John Patrick Vivian Flynn (born 14 March 1983) is a British actor and...

 

You can help expand this article with text translated from the corresponding article in Russian. (September 2021) Click [show] for important translation instructions. Machine translation, like DeepL or Google Translate, is a useful starting point for translations, but translators must revise errors as necessary and confirm that the translation is accurate, rather than simply copy-pasting machine-translated text into the English Wikipedia. Do not translate text that appears unreliable or ...

2013 single by PassengerHolesSingle by Passengerfrom the album All the Little Lights Released15 February 2013Recorded2012GenreIndie rockindie folkacousticLength3:31LabelEmbassy of MusicSongwriter(s)Mike RosenbergProducer(s)Mike RosenbergChris VallejoPassenger singles chronology Let Her Go (2012) Holes (2013) Scare Away the Dark (2014) Music videoHoles on YouTube Holes is a song by British singer-songwriter Passenger. It was released on 15 February 2013 as the third single from his album All t...

 

Political party associated with Transcendental Meditation Natural Law Party AbbreviationNLPChairpersonDoug DernFoundedApril 22, 1992; 31 years ago (1992-04-22)DissolvedApril 30, 2004 (2004-04-30) (as national party)HeadquartersHartland, MIIdeologyCivil libertarianismEnvironmentalismColors Michigan House of Representatives0 / 110 Michigan Senate0 / 38 Statewide Executive Offices0 / 4 U.S. House of Representatives0 / 14 U.S. Senate0 / 2 Websitenatural-law.o...

 

GeminiPuertos 1965/TCPUbicación en la pila de protocolos Aplicación Transporte de archivos [editar datos en Wikidata] Gemtext gemini.circumlunar.spaceInformación generalExtensión de archivo .gmiTipo de MIME text/gemini (no oficial)Type code TEXTTipo de formato Markup languageFormato abierto  [editar datos en Wikidata] Gemini es un protocolo de comunicación en la capa de aplicación de Internet para acceder a documentos remotos, similar al Protocolo de Transferenc...

Río Ave El Ave en Vila do CondeUbicación geográficaCuenca AveNacimiento Sierra de CabreiraDesembocadura Océano AtlánticoCoordenadas 41°31′23″N 8°06′06″O / 41.5231, -8.1017Ubicación administrativaPaís  PortugalRegión NorteDistrito Braga y OportoCuerpo de aguaLongitud 94 kmSuperficie de cuenca 1390 km²Altitud Nacimiento: 1.200 m[editar datos en Wikidata] El río Ave es un río del noroeste de la península ibérica que discurre por los distritos...

 

Railway maintenance depot in Barton Hill, Bristol Bristol Barton Hill TMDLocationLocationBarton Hill, BristolCoordinates51°27′12″N 2°34′13″W / 51.4533°N 2.5702°W / 51.4533; -2.5702OS gridST604728CharacteristicsOwnerNetwork RailOperatorArriva TrainCareDepot codeBKTypeDMU, DieselHistoryOpened1840 Bristol Barton Hill TMD is a traction maintenance depot located in Barton Hill, Bristol, England. The depot is located on the Great Western Main Line to the north-ea...

 

Strategi Solo vs Squad di Free Fire: Cara Menang Mudah!