web-gelistirme-sc.com

Bir kullanıcı arayüzü (veya kullanıcı) açısından atomik eylem nedir?

Birden çok nesne düzeyi içeren bir çok kullanıcı arayüzü oluşturuyorum. Örnek olarak bir satın alma siparişi verilebilir. Satınalma siparişinde siparişin kendisi ile ilgili bilgiler bulunur, ancak aynı zamanda belirli bilgileri içeren belirtilmemiş sayıda satır öğesi içerir.

Bu tür bir kullanıcı arayüzü ile ilgili bir sorunum atomik bir eylem olarak görülmesi gereken şeydir (yani sadece tamamen başarılı olması veya tamamen başarısız olması gereken bir eylem). Değişiklikleri kaydetmek böyle bir eylemdir.

Her satır öğesinin atomik olduğunu görebiliyordum ve bir web arayüzünde, satır artık odaklanmadıkça değiştirilen her satır öğesini kaydetmek için Ajax teknolojisini kullanıyor. Bu tepki süresini hızlandıracaktır. Bununla birlikte, her bir çizgiyi kendi atomik eylemini kurtarır.

Öte yandan, tüm düzenin tüm değişikliklerinin kaydedilmesi atom eylemleri olarak görülebilir. Bu, kullanıcının satırları değiştirebileceği ve tüm değişiklikleri iptal edebileceği anlamına gelir. Bu anda ya belgenin tamamı kaydedilir ya da hiçbir şey kaydedilmez.

Bu ikilemde bana yardımcı olabilecek kullanıcı arayüzleri veya tasarım ilkeleri hakkında bir çalışma var mı?

11
txwikinger

Son zamanlarda benzer bir sorunla uğraşmak zorunda kaldım - tek tek değiştirilebilen birden fazla veri girişi (isim, açıklama, önem, vb.) Olan bir nesnenin profil kartını gösteriyorum, ancak değişiklikler genel olarak "Kaydet" tuşuna basılır.

Yaptığım yol şuydu:

  • Her satırı bir "etiket" olarak gösterin, yani salt okunur
  • Fareyle üzerine gelindiğinde çizgiyi vurgulayın ve bir "Düzenle" simgesi görüntüleyin
  • Basıldığında çizgi düzenlenebilir hale gelir
  • Odak kaybolduğunda, satır tekrar okunur (yeni değerle)
  • Şimdi fareyle üzerine gelindiğinde, önceki değere geri dönen bir "Geri Al" simgesi gösteriyor.
  • Tüm profil kartında "Kaydet" (yalnızca bir değişiklik yapıldıktan sonra görünür) bulunur ve o zamana kadar hiçbir şeyin kaydedilmediğini gösterir.

Kullanıcıya en fazla esnekliği verdiğini ve çok sezgisel olduğunu düşünüyorum ...

Bu yardımcı olur umarım.

9
Dan Barak

Belki birden fazla seviyede atomik hareketlere sahip olmalısınız.

Kullanıcının çalışmasını korumak için her satır öğesini kaydedebilirsiniz (ve gerçekten süslenmek istiyorsanız, geri alma yığını oluşturun). Ancak, kullanıcı kaydet'i tıklayana kadar sipariş girilmez.

Taslakları otomatik olarak kaydeden bir e-posta istemcisini (web tabanlı veya başka bir şekilde) düşünün.

Ayrıca bkz .: Çok Düzeyli Geri Alma

3
Patrick McElhaney

İlişkili öğeleri grupladığınız birden çok sayfa (sihirbazda olduğu gibi) oluşturabilirsiniz. Sonra her sayfayı atomik bir eylem haline getirirsiniz.

Örneğin, siparişin ürünlerini içeren bir sayfa, biri teslimat bilgilerini, biri fatura ayrıntılarını ve bir genel bakış sayfasını göndermeden önce bulundurun.

0
Jouke van der Maas