«encapsulation» etiketlenmiş sorular

17
Neden özel alanlar var, yeterince korunmuyorlar?
privateSınıf alanlarının / özelliklerinin / niteliklerinin görünürlüğü faydalı mı? OOP'da er ya da geç, bir sınıfın alt sınıfını yapacaksınız ve bu durumda, uygulamayı tamamen değiştirebilmeniz ve anlayabilmeniz iyidir. Bir sınıfı alt sınıflarken yaptığım ilk şeylerden biri, bir sürü privateyöntemi değiştirmektir protected. Bununla birlikte, dış dünyadan ayrıntıları gizlemek önemlidir - bu …

15
Özel değişkenlere neden ihtiyacımız var?
Sınıflarda neden özel değişkenlere ihtiyacımız var? Okuduğum her programlama kitabı bunun özel bir değişken olduğunu söylüyor, onu nasıl tanımladığınızı ancak orada durduğunu söylüyor. Bu açıklamaların ifadesi, her zaman bana, mesleğimize olan güven krizimiz gibi geldi. Açıklamalar her zaman diğer programcıların kodumuzu bozmak üzere olduğu gibi geliyordu. Ancak, özel değişkenleri olmayan …

15
TDD Kırmızı-Yeşil-Refaktörü ve özel hale getirilmiş yöntemleri test etmek için nasıl / nasıl
Anladığım kadarıyla, çoğu insan özel yöntemlerin doğrudan test edilmemesi gerektiği, bunun yerine kamusal yöntemler ne şekilde olursa olsun denenmesi gerektiği konusunda hemfikir. Onların noktasını görebiliyorum, ancak "TDD'nin Üç Yasasını" izlemeye çalıştığımda ve "Kırmızı - yeşil - refaktör" döngüsünü kullanmaya başladığımda bazı problemlerim var. Bence en iyi örnekle açıklanıyor: Şu anda, …

10
Üçüncü taraf kitaplıklarını kullanma - her zaman bir sarıcı kullanın?
İçinde bulunduğum çoğu proje birkaç açık kaynaklı bileşen kullanıyor. Genel bir ilke olarak, kodun tüm bileşenlerini üçüncü taraf kütüphanelerine bağlamaktan kaçınmak ve bunun yerine değişim acısını önlemek için enkapsüle edici bir sargıdan geçmek iyi bir fikir midir? Örnek olarak, PHP projelerimizin çoğu doğrudan log4php'i logging çerçevesi olarak kullanıyor, yani \ …

13
“Düşük” uygulama katmanları için “yüksek” olanların farkında olmamak neden iyi bir fikirdir?
Tipik (iyi tasarlanmış) bir MVC web uygulamasında, veritabanı model kodunun farkında değildir, model kodu denetleyici kodunun farkında değildir ve denetleyici kodu görünüm kodunun farkında değildir. (Donanımdan daha ileri bir zamanda başlayabileceğinizi ya da belki daha da ileri gideceğinizi ve kalıp aynı olabileceğini hayal ediyorum) Diğer yöne gitmek, sadece bir katman …

8
Alıcıların ve ayarlayıcıların içinde nelere izin verilmeli?
Alıcı ve ayarlayıcı yöntemleri ve kapsülleme hakkında ilginç bir internet tartışmasına girdim. Birileri yapmaları gereken tek şey, onları "saf" tutmak ve enkapsülasyonu sağlamak için bir değişken (atamalar) veya değişken bir erişim (alıcılar) olduğunu söyledi. Bunun, alıcıların ve belirleyicilerin ilk sırada yer almasının amacını tamamen ortadan kaldıracağı doğru muyum ve doğrulama …

5
Dinamik olarak yazılmış dillerde neden numaralara ihtiyacımız var?
Burada bazı kodlar okuyordum ve html etiketlerinin adlarını saklamak için bir numaralamanın kullanıldığını gördüm. Bunu neden yapmamız gerekiyor? Bu stratejiyi kullanmanın ne yararı olur? Enums'lerin ne kadar yararlı olduğunu derlenmiş ya da statik olarak yazılmış dillerde biliyorum ama dinamik olarak yazılmış dillerde enums gördüğümde, yukarıda gösterdiğim örnek kod gibi ben …

10
Genellikle nesneleri veya üye değişkenlerini işlevlere gönderiyor musunuz?
Bu iki vaka arasında genel olarak kabul edilen uygulama hangisidir: function insertIntoDatabase(Account account, Otherthing thing) { database.insertMethod(account.getId(), thing.getId(), thing.getSomeValue()); } veya function insertIntoDatabase(long accountId, long thingId, double someValue) { database.insertMethod(accountId, thingId, someValue); } Başka bir deyişle, nesnelerin tamamını etrafa veya sadece ihtiyacınız olan alanlara aktarmak genellikle daha iyi olur mu?

6
Sadece başka bir fonksiyonda kullanılan fonksiyonları, o fonksiyonun içine mi koymalıyım?
Özellikle, JavaScript ile yazıyorum. Diyelim ki birincil işlevim İşlev A dır. İşlev A, İşlev B'ye birkaç çağrı yaparsa, ancak İşlev B başka bir yerde kullanılmazsa, İşlev B'yi İşlev A'ya yerleştirmem gerekir mi? Bu iyi bir uygulama mı? Yoksa yine de İşlev B'yi İşlev A ile aynı kapsamda mı koymalıyım?

6
Java neden paket erişimini varsayılan yaptı?
Bu soruyu soruyorum çünkü bunu çok iyi bir sebeple yaptıklarına ve çoğu insanın bunu endüstride edindiğim deneyime göre de doğru kullanmadıklarına inanıyorum. Ama teorim doğruysa, neden özel erişim değiştiriciyi dahil ettiklerini bilmiyorum ...? Eğer varsayılan erişim düzgün kullanılırsa, kapsüllemeyi korurken gelişmiş test edilebilirlik sağladığını düşünüyorum. Ayrıca özel erişim değiştiricisini gereksiz …




7
Bir değişken alıcı ve ayarlayıcı içeriyorsa, genel olmalı mı?
Özel değişkenli bir sınıfım var ve sınıfın bir alıcısı ve bu değişken için bir ayarlayıcısı var. Neden bu değişkeni ortak yapmıyorsun? Alıcıları ve ayarlayıcıları kullanmanız gerektiğini düşündüğüm tek vaka, set veya cihaz dışında bir işlem yapmanız gerekip gerekmediğidir. Örnek: void my_class::set_variable(int x){ /* Some operation like updating a log */ …

5
Dernek, Toplama ve Kompozisyonun kullanımı nedir?
Kapsülleme nedir ve onu uygulamak için birleşme, Toplama ve Kompozisyon olan üç teknik hakkında birçok teori yaşadım. Ne buldum : kapsülleme Kapsülleme, bir sınıftaki alanları özel yapma ve herkese açık yöntemlerle alanlara erişim sağlama tekniğidir. Bir alan özel olarak bildirilirse, sınıf dışındaki hiç kimse bu alana erişemez ve böylece sınıf …

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.