«single-responsibility» etiketlenmiş sorular

Tek Sorumluluk İlkesi, bir sistemdeki her modülün tek bir özellik veya işlevsellikten veya uyumlu işlevsellik kümesinden sorumlu olması gerektiğini belirtir. Bunu koymanın bir başka yaygın yolu, her modülün değiştirmek için sadece bir nedeni olması gerektiğini söylemek.

6
Bir uygulamanın yanında günlüğe kaydetme bir SRP ihlali mi?
Çevik yazılım geliştirme ve tüm ilkeleri (SRP, OCP, ...) düşünürken kendime günlük kaydını nasıl tedavi edeceğimi soruyorum. Bir uygulamanın yanında günlüğe kaydetme bir SRP ihlali mi? yesUygulamanın günlüğe kaydetmeden de çalışabilmesi gerektiği için söyleyebilirim . Peki günlüğü nasıl daha iyi uygulayabilirim? Bazı desenleri kontrol ettim ve ilkeleri kullanıcı tanımlı bir …

6
Birden fazla miras Tek Sorumluluk İlkesini ihlal ediyor mu?
İki ayrı sınıftan miras alan bir sınıfınız varsa, bu, alt sınıfınızın her bir üst sınıftan bir tane olmak üzere otomatik olarak (en az) 2 şey yaptığı anlamına gelmez mi? Birden fazla arabirim mirasınız varsa hiçbir fark olmadığını düşünüyorum. Düzenleme: Açıkça, birden fazla sınıf alt sınıf SRP ihlal, sonra birden (marker …

4
Tek Sorumluluk İlkesi işlevler için geçerli midir?
Robert C. Martin'e göre, SRP şunları söylüyor: Bir sınıfın değişmesi için asla birden fazla sebep olmamalıdır . Bununla birlikte, Temiz Kod , bölüm 3: İşlevler kitabında aşağıdaki kod bloğunu gösterir: public Money calculatePay(Employee e) throws InvalidEmployeeType { switch (e.type) { case COMMISSIONED: return calculateCommissionedPay(e); case HOURLY: return calculateHourlyPay(e); case SALARIED: …

5
SRP (Tek Sorumluluk İlkesi) objektif midir?
"Kullanıcı çekici" tasarımlar tasarlamak isteyen iki kullanıcı arayüzü tasarımcısını düşünün. "Kullanıcı cazibe" objektif olmayan ve sadece tasarımcıların zihninde bulunan bir kavramdır. Böylece tasarımcı A, örneğin kırmızı rengi alabilirken tasarımcı B maviyi seçebilir. Tasarımcı A, tasarımcı B'den tamamen farklı bir düzen oluşturur, vb. SRP (Tek Sorumluluk İlkesi) hakkında okudum ve anladığım …

5
MVC: Kontrolör Tek Sorumluluk İlkesini ihlal ediyor mu?
Tek Sorumluluk İlkesi "bir sınıfın değişimin bir nedeni olması gerektiğini" belirtir. MVC modelinde, Kontrolcünün işi Görünüm ve Model arasında aracılık etmektir. Kullanıcı tarafından GUI üzerinde yapılan eylemleri rapor etmek için Görünüm için bir arayüz sunar (örneğin, Görünüm'ün çağrı yapmasına izin vermek controller.specificButtonPressed()) ve verilerini değiştirmek veya işlemlerini başlatmak için Model …

7
Çoğunlukla bir regex içeren büyük işlevleri yeniden düzenlemeli miyim? [kapalı]
Kapalı . Bu soru görüş temelli . Şu anda cevapları kabul etmiyor. Bu soruyu geliştirmek ister misiniz? Bu yayını düzenleyerek gerçekler ve alıntılarla yanıtlanabilmesi için soruyu güncelleyin . 5 yıl önce kapalı . Az önce yaklaşık 100 satırlık bir fonksiyon yazdım. Bunu duyduğunda, muhtemelen bana tek sorumlulukları anlatmak ve beni …

4
Tek Sorumluluk modeli sınıflar için ne kadar spesifik olmalıdır?
Örneğin, konsoldan ve konsoldan her türlü giriş / çıkış yöntemine sahip bir konsol oyun programınız olduğunu varsayalım. Tek hepsini tutmak için akıllı olurdu inputOutputsınıf veya gibi daha spesifik sınıflara onları yıkmak startMenuIO, inGameIO, playerIO, gameBoardIO, her sınıf 1-5 yöntemleri hakkında sahip vb öyle ki? Ve aynı notta, onları parçalamak daha …

5
Etki Alanı Varlığı Tek Sorumluluk İlkesini ihlal ediyor mu?
Bir işletmenin tek sorumluluğu (değişim nedeni), kendisini benzersiz bir şekilde tanımlamak, diğer bir deyişle sorumluluğunun anlaşılabilir olması olmalıdır. Eric Evan'ın DDD kitabı, sf. 93: İşletmelerin en temel sorumluluğu, davranışın açık ve öngörülebilir olabilmesi için süreklilik sağlamaktır. Yedek tutulursa bunu en iyi şekilde yaparlar. Özniteliklere ve hatta davranışa odaklanmak yerine, Entity …

4
Tek sorumluluğa sahip büyük sınıf
2500 Satır Charactersınıfı var: Oyundaki karakterin dahili durumunu izler. Bu durumu yükler ve devam ettirir. ~ 30 gelen komutu işler (genellikle = komut satırına iletir Game, ancak bazı salt okunur komutlar hemen yanıtlanır). Yaptığı Gameeylemler ve diğerlerinin ilgili eylemleri hakkında ~ 80 çağrı alır. Bana göre Charactertek bir sorumluluğu var: …


3
Aramalar pahalı olduğunda Python'daki tek sorumluluk ilkesi (SRP) ile çalışmak
Bazı temel noktalar: Yorumlanan doğası nedeniyle Python yöntem çağrıları "pahalıdır" . Teoride, kodunuz yeterince basitse, Python kodunun parçalanması okunabilirlik ve yeniden kullanımın yanı sıra olumsuz bir etkiye sahiptir ( bu, geliştiriciler için büyük bir kazançtır, kullanıcılar için çok fazla değildir ). Tek sorumluluk ilkesi (SRP) kodu okunabilir tutar, test edilmesi …

5
Kaliteyi iyileştirme umuduyla mini-refactor kodunu faydalı mıdır, yoksa çok fazla faydası olmadan sadece “kodu hareket ettirmek” midir?
Misal Tek bir yerde "her şeyi" yapan monolitik kodla karşılaştım - veritabanından veri yükleme, HTML işaretlemesi gösterme, yönlendirici / denetleyici / eylem gibi davranma. SRP hareketli veritabanı kodunu kendi dosyasına uygulamaya başladım, işler için daha iyi adlandırma sağladım ve hepsi iyi görünüyordu, ama sonra neden bunu yaptığım konusunda şüphelerim var. …

5
Önbelleğe almayı yönetmek için bir sınıftaki SRP'yi ihlal etmekten nasıl kaçınılır?
Not: Kod örneği c # ile yazılmıştır, ancak bu önemli olmamalıdır. Daha uygun bir tane bulamadığım için etiket olarak c # koydum. Bu kod yapısı ile ilgilidir. Temiz Kod okuyorum ve daha iyi bir programcı olmaya çalışıyorum. Kendimi genellikle Tek Sorumluluk Prensibine (sınıflar ve işlevler sadece bir şey yapmalıdır), özellikle …

3
IValidatableObject ve Tek Sorumluluk
Görünüm modellerinin IValidatableObject uygulamak ve özel doğrulama eklemek için izin MVC genişletilebilirlik noktasını seviyorum. Bu kod tek doğrulama mantığı olması, Denetleyicilerim yalın tutmaya çalışın: if (!ModelState.IsValid) return View(loginViewModel); Örneğin, bir giriş görünümü modeli IValidatableObject uygular, yapıcı enjeksiyonu yoluyla ILoginValidator nesnesini alır: public interface ILoginValidator { bool UserExists(string email); bool IsLoginValid(string …

5
Kod tekrarı ve çoklu sorumlu yöntem
Tek Sorumluluk İlkesini (SRP) izlemeye ve Kod Tekrarlarını atlamaya çalışıyorum. Bununla birlikte, genellikle kod tekrarlamalarının, en azından anlamlı bir yöntem olarak ayıklanmaya dirençli invokasyon blok bloklarından başka bir şey olmayan yerler vardır: DoAction1(); DoAction2(); if (value) DoAction3(); DoAction4(); Bu kodu bir yönteme çıkarmanın en iyi yolu nedir ve nasıl adlandırılır?

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.