Yazılım Mühendisliği

Sistem geliştirme yaşam döngüsü içinde çalışan profesyoneller, akademisyenler ve öğrenciler için soru-cevap

6
OO olmayanlarda bu nasıl programlanır? [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 . 2 yıl önce kapalı . Başka bir paradigma lehine OOP'nin aşağı tarafındaki korkunç bir makaleyi okurken çok fazla hata bulamadığım bir örneğe …


3
Yazılım mimarisi mi Sistem mimarisi mi Sınıf diyagramı mı?
Aşağıdaki terimler hakkında oldukça kafam karıştı: Yazılım mimarisi Yazılım uygulama mimarisi, performans, güvenlik ve yönetilebilirlik gibi ortak kalite özelliklerini optimize ederken, tüm teknik ve operasyonel gereksinimleri karşılayan yapısal bir çözüm tanımlama sürecidir. Çok çeşitli faktörlere dayanan bir dizi karar içerir ve bu kararların her biri uygulamanın kalitesi, performansı, sürdürülebilirliği ve …

6
Scrum ve istikrarlı bir gelişme bir çelişki oluşturuyor mu?
Toplamda yaklaşık 40 geliştiriciden oluşan 5 ekip içeren bir geliştirme grubunun üyesiyim. Scrum metodolojisini 3 haftalık sprintlerle takip ediyoruz. Birkaç saat süren bir inşa boru hattıyla (kapsamlı otomatik testler nedeniyle) sürekli bir entegrasyon kurulumumuz (Jenkins) var. Temel olarak, geliştirme süreci iyi çalışır. Bununla birlikte, birkaç gün sonra yeni bir sprint …

4
Tam özellikli bir uygulama veya çıplak kemikler oluşturmalı ve sonra yavaşça özellikler eklemeli miyim?
Ben bir atölye planlama programı (çok kötü bir şekilde gerekli) oluşturmak ile BT görev yaptı bir üretim tesisinde çalışıyorum. Başkalarının deneyimlerine dayanarak, daha az zaman ayırıp kullanılabilir olan temel bir çerçeve oluşturmak ve daha sonra özellikler ekleyerek ya da kapıdan tam olarak uygulanmış bir çözüm oluşturarak işe başlamak daha iyi …

1
2000'den fazla istemci makine için uygulama sunucusu olarak REST hizmeti. İyi bir fikir mi?
JavaFx'te 2000'den fazla makineye dağıtılacak (minimum 2000, ancak daha fazla olacak - 5000 makineye ulaşabilecek) UI ile bir sistem inşa edeceğiz. Diğer nedenlerden / sınırlamalardan dolayı makineye yüklenmesi gerekir, bu yüzden bir web tarayıcı arayüzü ile yapamayız. 2000'den fazla makine farklı coğrafi konum gruplarında olacaktır. Genel olarak bağlantı iyidir, ancak …
11 java  design  rest  spring 

4
C # arabiriminde bir önkoşul (LSP) nasıl belirtilir?
Diyelim ki şu arayüze sahibiz - interface IDatabase { string ConnectionString{get;set;} void ExecuteNoQuery(string sql); void ExecuteNoQuery(string[] sql); //Various other methods all requiring ConnectionString to be set } Önkoşul, herhangi bir yöntem çalıştırılmadan önce ConnectionString'in ayarlanması / başlatılması gerektiğidir. Bu önkoşul, IDatabase soyut veya somut bir sınıf olsaydı bir yapıcı aracılığıyla …

3
İstisnalar veya yedeklilik olmadan giriş doğrulaması nasıl yapılır
Belirli bir program için bir arabirim oluşturmaya çalıştığımda genellikle doğrulanmamış girişe bağlı istisnalar atmaktan kaçınmaya çalışıyorum. Yani sık sık böyle bir kod parçası düşündüm ki (bu sadece bir örnek uğruna bir örnek, gerçekleştirdiği işleve aldırma, örneğin Java): public static String padToEvenOriginal(int evenSize, String string) { if (evenSize % 2 == …

2
DDD'siz ve (veya?) ES olmayan CQRS - yazma modeli nedir ve okuma modeli nedir?
Anladığım kadarıyla, CQRS'nin arkasındaki büyük fikir, komutları ve sorguları işlemek için 2 farklı veri modeline sahip olmak. Bunlara "model yazma" ve "model okuma" denir. Twitter uygulama klonunun bir örneğini ele alalım. İşte komutlar: Kullanıcılar kendilerini kaydedebilirler. CreateUserCommand(string username)yayarUserCreatedEvent Kullanıcılar diğer kullanıcıları takip edebilir. FollowUserCommand(int userAId, int userBId)yayarUserFollowedEvent Kullanıcılar yayın oluşturabilir. …
11 cqrs  read-model 

6
Adlandırma: Açıklık için kısalığı feda etmeli misiniz?
Örneğin, aşağıdaki işlev, bir giriş alanının adını ve hatalarını içeren bir dizide dolaşır. Bunu, doğrulama alanının adını kontrol edip hata bilgisini geçersiz alanlar dizisine iterek yapar. Kısa olmak ve bunu yazmak daha iyi mi? addInvalidField (field, message) { const foundField = this.invalidFields.find(value => { return value.name === field.name }) const …

2
İş mantığını işlemlerle DB mantığından ayırma
Uygulamamızda üç katman var. Harici bir API sağlamak için hizmet katmanı. İş mantığımız için BO katmanı ve veritabanı bağlantımız için bir DAO katmanı. Diyelim ki bir dosyayı her güncellediğimizde, Klasör'deki bir şeyi değiştirmek istiyoruz, örneğin 'son değiştirilme tarihi'. Bunun bir işlemde yapılması gerekir. Ya başarılı olur ve hem Dosya hem …


3
Varlık Çerçevesi ve Anemik Alan Modelinden Kaçınmak
İş mantığımızda bazen böyle bir şeyi tanımlayan yöntemlerimiz vardır: User.ResetCourse(Course courseToReset) Sorun, hem Kullanıcı hem de Ders'in Entity Framework proxy nesneleri olmasıdır. Bu, Kullanıcı veya Parkurda navigasyon özelliklerine bastığımızda, veritabanına büyük bir isabet yaratabileceği anlamına gelir, çünkü bu nesneler IQueryable değildir, bu yüzden normalde bunlar üzerinden yinelenir. Bunu çözmek için …

2
Huzurlu bir hizmette sıralı liste kaynağını nasıl tasarlamalıyım?
Aynı sorunu tekrar tekrar yaşadım ve gerçekten en uygun olduğunu düşündüğüm bir çözüm bulamadım. Bir uygulamada söyleyin, sıralı bir listeniz var ve kullanıcının bu siparişi sürükleyip bırakarak veya başka bir şeyle değiştirmesine izin veriyorsunuz. Siparişteki değişikliklerin devam etmesini istiyorsunuz. Bunu nasıl modellersiniz? Sıralı bir liste kaynağının huzurlu bir hizmetini nasıl …

5
Alt sınıf türü sormaktan kaçınmak için iyi bir tasarım uygulaması nedir?
Programınız bir nesnenin hangi sınıf olduğunu bilmek gerektiğinde, genellikle bir tasarım kusurunu gösterir, bu yüzden bunu idare etmek için iyi bir uygulama olduğunu bilmek istiyorum. Circle, Polygon veya Rectangle gibi miras alınan farklı alt sınıflara sahip bir Shape Shape uyguluyorum ve bir Circle'ın Polygon veya Rectangle ile çarpışıp çarpışmadığını bilmek …

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.