Hự :v lâu nay toàn viết Java, mà cái project cho Design Pattern thì dùng C#, nên quên mất cái convension của method bên C#, nó phải là Pascal Case nha: CreateAnimal(). Tks @LandKeeper đã nhắc nhở :D
@teocreator79462 жыл бұрын
Cái pattern này các bạn có thể hiểu một cách đơn giản thế này: Chúng ta có một nghiệp vụ cho khách hàng tạo Card tín dụng, chỉ có thể tạo 1 trong 3 loại như loại Basic, loại Gold và loại Platinum. Vấn đề là bạn không biết khách hàng sẽ tạo thằng nào ở runtime. Vậy bạn sẽ làm thế nào? Bạn thử đọc cái concept của pattern này và đưa ra cách giải: hãy để cho các class ( Factory) triển khai interface ( IFactory) quyết định việc tạo object của class nào (Basic, Gold, Platinum) . 😊😊
@thanhhung7774 жыл бұрын
Tks bạn nhá. Mình dev C# chủ yếu dùng Repository Pattern và Unit Of Work
@dientuvalaptrinh4 жыл бұрын
Đúng nghĩa code từ sáng tới chiều luôn, ai để ý cửa sổ là biết :D
@thaoduongtrung3851 Жыл бұрын
Ông Dev cho em hỏi 2 câu này với ạ: 1. Em đang hiểu việc Client sử dụng RandomAnimalFactory hay BasicAnimalFactory sẽ tùy thuộc bài toán nghiệp vụ của Client. Nếu vậy, khi nghiệp vụ thay đổi thì sẽ xử lý thế nào ạ? Chúng ta sẽ tạo ra thêm 1 Factory mới và sửa lại code của Client chuyển sang dùng Factory mới đó có đúng không ạ? 2. Nếu sửa lại Client như vậy nghĩa là chấp nhận vi phạm Open/Close principle ạ? Em cảm ơn đã giải đáp và chia sẽ kiến thức ạ!
@thaoduongtrung38516 ай бұрын
@bachkhoahuynh9110 mình cảm ơn nhiều ạ..!
@jamesnguyen9942 жыл бұрын
Cảm ơn anh đã chia sẻ ạ
@duccao59323 жыл бұрын
e xin hỏi ông Dev với mấy bro vấn đề này ạ. mẫu factory này mục đích là chỉ khởi tạo đối tượng mặc định thôi đúng không ạ, tại e tìm gg nhiều mà không có chỗ nào hướng dẫn về cái tạo đối tượng có data hết ạ. ví dụ abstract class Shape có các class con Circle, Rectangle, Triangle... làm sao để mình có thể tạo đối tượng bằng factory mà có thể truyền tham số data vào ạ.
@trungthanhbp4 жыл бұрын
convention của C# thì tên method đặt theo Pascal Case nhá ông dev
4 жыл бұрын
Oh quên hè @@ Dạo này toàn viết Java vs js nên quên mất @@ hiu hiu
@trikynguyen97574 жыл бұрын
yo yo yo !!! up nào
@TungNguyen-xc2xg3 жыл бұрын
interface Animal đổi thành 1 class cũng được đúng không anh
@axintruong62323 жыл бұрын
nếu làm vậy thì lại đi trái với ý tưởng của thằng Factory. Lỡ sau này theo thiết kế bắt buộc mỗi Dog Duck Cat phải implement cái method Keu() chẳng hạn, với interface nếu không implement sẽ báo lỗi. Còn nếu dùng class thì kế thừa, thì việc implement và override chẳng hạn thì lỡ bạn có quên cũng không báo lỗi. Khi code chạy, rõ ràng nó sẽ đi sai Logic ban đầu, vì một Animal thông thường ta chả biết nó kêu như nào cả.
@TungNguyen-xc2xg3 жыл бұрын
@@axintruong6232 cảm ơn anh ạ
@dnt20162 жыл бұрын
Anh "deptrai" vaichuong :))
@techcodesmartly25474 жыл бұрын
học code stress quá, về nhà xem ngay clip ông dev mới ra lò :( giờ mông lông em vẫn không biết lộ trình frontend nên gì trước sau nào? :(((( giúp em với ông dev
4 жыл бұрын
HTML CSS JS, Java, Servlet, Spring, Vue :D
@techcodesmartly25474 жыл бұрын
@ spring vs serlet khác nhau hả a?
4 жыл бұрын
Techcode Smartly à thực ra là server let là cái layer dưới. Spring thì nó bọc lên trên rồi, nhưng nhiều khi dùng spring boot đồ thì hay bị bỏ qua cái lõi ở dưới, có thể dẫn đến việc bị hổng.
@F395-c3q3 жыл бұрын
@ mình giờ mới tập tành vào học IT, giờ mình đi theo hướng Frontend như này liệu ổn không Ông DEV ơi ? ----> HTML CSS JS, C#
3 жыл бұрын
@@F395-c3q đc nhaC# thì đi vs asp.net
@tringuyencaothien24123 жыл бұрын
IAnimal duck = new Duck() tại sao có thể dùng được interface implement để create object được implement vậy anh nếu class Duck nó implement nhiều interface thì chuyện gì sẽ xảy ra ạ
3 жыл бұрын
Nếu Duck implement nhiều interface thì mình sẽ có thể dùng tất cả các interface đó để làm type cho object duck nha