Nói decorate là cầu nối giữa model và view thì chưa chuẩn lắm, nếu nói là cầu nối model và view thì phải là presenter pattern. Như đã đề cập ở trên thì để tránh viết code xữ lý logic trong view gây ra tình trạng View smells thì mình viết thêm method full_name, tuy nhiên vì nó không phải là utility method nên không thể để trong helper được, nó cũng không phải là business logic nên không thể cho vào model, lúc này ta nghĩ đến decorate
với 1 ứng dụng thực tế thì event stream bạn có thể sinh động được không nhất thiết phải bind mỗi button vào 1 stream 1 cách thủ công. Hãy nghĩ đến mô hình reuse-component như trong các framework (react, vue, angular) triển khai. Khi đó chỉ cần 1 vòng lặp để sinh ra cách component, mỗi component có event stream của riêng mình.
theo mình nghĩ là hướng đến mô hình như vậy sẽ tốt hơn so với việc dùng logic để xác định selector. khi số lượng các Data Stream nhiều lên thậm chí khi merge lại cũng rất khó để viết logic cho tốt
Thế thì bất tiện quá. Data list đâu chỉ mỗi có 3 cái. Cái này cần có solution hiệu quả hơn. Liệu có cách nào biết được selector nào đang được click ko bạn?
Thanks bác đã quan tâm chia sẻ. Về các item 1, 2, 3, 4 thì em thấy comment của bạn Ngân ở dưới khá thú vị để bác tham khảo dưới con mắt người dùng chứ không phải dev, vì thực ra người dùng phải đưa ra yêu cầu tốt nhất cho họ, còn việc dev làm được hay không thì là vấn đề khác . Còn item 5 thì em thấy bác comment chuẩn, em giờ mới để ý cái này. Tuy nhiên em lại thấy có 1 sự mất đồng bộ đó là cái badge này nằm phía trên, bên phải của icon, trong khi cái badge dùng để báo số lượng tin nhắn mới chưa đọc (khi mình minimize Skype xuống taskbar) lại nằm phía dưới, bên phải
Màu sắc này em thấy khá giống phong cách anh Cook, dùng ít thấy cũng tươi mới nhưng dùng nhiều mệt mắt lắm =)), chưa kể mấy màu này dùng cho anh em manly thấy không hợp
bạn cần 1 stream để handle mỗi chuỗi sự kiện. đối với mỗi button close bạn cần có 1 event stream.
nhưng bạn có thể nghĩ theo hướng gộp 3 data stream lại thành 1 với merge và xử lý logic trong subscribe, tuy vậy mình không khuyến khích cách này lắm
Em thấy Skype trên điện thoại làm cho cuộc sống doanh nghiệp của em bỗng trở nên nhiều màu sắc hơn =)) Lại có thêm tính năng What's News mà chỉ có người dùng điện thoại mới có. Giống cái My 24 hours của Facebook, Instagram. Gọi là racist người không có smartphone =))
Theo em thấy người thường hiểu dấu ... là nội dung dài chứ không phải là xuất hiện hộp thoại hay link khác. Còn nếu muốn người dùng định nghĩa khái niệm mới một cách không cần thiết, ... tức là hộp thoại mới thì phạm vào UX ạ. Vậy thì nên để dấu này > Chưa kể dấu .... người ta sẽ click click như Xem thêm trên Facebook.
Vậy thì mình nên làm 1 hộp thoại hiển thị chức năng cơ bản. Ai muốn làm thêm gì thì bấm vào nút More. Vì người dùng rất khó chịu khi click vào ứng dụng nó lại xuất hiện 1 website khác.
Em cũng không thích funtion Hide này vì cảm thấy nó không có giá trị. Nếu họ không làm remove tức là họ thiếu chức năng đó. Việc nhập nhằng chức năng Bỏ Contact -> Hide -> Xem lại. Tha vì Bỏ Contact -> Lưu chat -> Xem lại hoặc Xóa cuộc trò chuyện gây confuse cho người dùng.
Ai lại đi Add Contact mà search kết quả đầu tiên lại ra người đã add rồi bao giờ? Vậy sao không tắt việc search ra bạn bè để việc search tên người mới được nhanh hơn?
Comment của anh chính là bug UI + UX đấy ạ. Người dùng nhầm tưởng có icon mới nên mới vào xem, ai dè chẳng có gì mới cả. Thay vì vậy, khi nào thật sự có icon mới hẳn để màu cam. Click vào rồi thì toàn màu xanh mới đúng ạ.
THẢO LUẬN
Bạn có thể copy code rồi bỏ vào như sau để có thể highlight nó như sau:
Mấy năm trước thấy hay nhưng chưa áp dụng, bây giờ muốn áp dụng vào thì thấy thế này: https://developer.mozilla.org/en-US/docs/Web/HTML/Using_the_application_cache
Firefox trả về endpoint dạng: https://updates.push.services.mozilla.com/wpush/v1/gAAAAABZdabowAvUQ4vAsSZcJHIiTkycFLLPEK116C-NjXl91o_xKzqKsA_1kSOwh8u4zBeaaoKC073hF9BnP1aCPXXNAORZPlM8LwTXzqljQDTkd178RDEdauxs-5r3hozJ8LHVQHsL Mình lấy đoạn cuối gAAAA...HVQHsL để gửi nhưng nó báo sai. Như vậy <YOUR_REGISTRATION_ID> trên Firefox là gì bạn?
đây chỉ gọi là quick started thôi, ko thể gọi là học được, như thế này thì khác gì viết câu Hello World rồi nói tôi học được Java rồi (yaoming)
Cảm ơn thầy rất nhiều ạ, bài viết rất dễ hiểu
Nói decorate là cầu nối giữa model và view thì chưa chuẩn lắm, nếu nói là cầu nối model và view thì phải là presenter pattern. Như đã đề cập ở trên thì để tránh viết code xữ lý logic trong view gây ra tình trạng View smells thì mình viết thêm method full_name, tuy nhiên vì nó không phải là utility method nên không thể để trong helper được, nó cũng không phải là business logic nên không thể cho vào model, lúc này ta nghĩ đến decorate
:3
Hay !
Cảm ơn bạn. Nếu bạn có ý tưởng gì hay ho hãy đóng góp giúp mình để mình có thêm những bài viết hữu ích hơn nhé
người viết bài này bị mắc anti-pattern trong promise, chỉ cần return luôn là được vì
then
cũng trả về một object của PromiseChị ơi, nhanh nhanh ra bài tiếp theo nhé. Em cảm ơn ạ.
Đây là giao diện của Skype cũ thôi. Skype của windows 10 nhìn chất lắm, đơn giản và tiện hơn
với 1 ứng dụng thực tế thì event stream bạn có thể sinh động được không nhất thiết phải bind mỗi button vào 1 stream 1 cách thủ công. Hãy nghĩ đến mô hình reuse-component như trong các framework (react, vue, angular) triển khai. Khi đó chỉ cần 1 vòng lặp để sinh ra cách component, mỗi component có event stream của riêng mình. theo mình nghĩ là hướng đến mô hình như vậy sẽ tốt hơn so với việc dùng logic để xác định selector. khi số lượng các Data Stream nhiều lên thậm chí khi merge lại cũng rất khó để viết logic cho tốt
Thế thì bất tiện quá. Data list đâu chỉ mỗi có 3 cái. Cái này cần có solution hiệu quả hơn. Liệu có cách nào biết được selector nào đang được click ko bạn?
Thanks bác đã quan tâm chia sẻ. Về các item 1, 2, 3, 4 thì em thấy comment của bạn Ngân ở dưới khá thú vị để bác tham khảo dưới con mắt người dùng chứ không phải dev, vì thực ra người dùng phải đưa ra yêu cầu tốt nhất cho họ, còn việc dev làm được hay không thì là vấn đề khác . Còn item 5 thì em thấy bác comment chuẩn, em giờ mới để ý cái này. Tuy nhiên em lại thấy có 1 sự mất đồng bộ đó là cái badge này nằm phía trên, bên phải của icon, trong khi cái badge dùng để báo số lượng tin nhắn mới chưa đọc (khi mình minimize Skype xuống taskbar) lại nằm phía dưới, bên phải
Màu sắc này em thấy khá giống phong cách anh Cook, dùng ít thấy cũng tươi mới nhưng dùng nhiều mệt mắt lắm =)), chưa kể mấy màu này dùng cho anh em manly thấy không hợp
bạn cần 1 stream để handle mỗi chuỗi sự kiện. đối với mỗi button close bạn cần có 1 event stream. nhưng bạn có thể nghĩ theo hướng gộp 3 data stream lại thành 1 với merge và xử lý logic trong subscribe, tuy vậy mình không khuyến khích cách này lắm
Bài này chuẩn quá! Mà em đọc xấu tự nhiên ghét Skype ghê. Hihi.
Em thấy Skype trên điện thoại làm cho cuộc sống doanh nghiệp của em bỗng trở nên nhiều màu sắc hơn =)) Lại có thêm tính năng What's News mà chỉ có người dùng điện thoại mới có. Giống cái My 24 hours của Facebook, Instagram. Gọi là racist người không có smartphone =))