Đối tượng - Cơ bản
eternity
Chúng tôi tìm hiểu các phương pháp thiết kế hướng đối tượng, bao gồm các phương pháp thiết kế hướng đến trách nhiệm và xem xét cách đánh đổi thiết kế về mặt gắn kết, khớp nối và đóng gói.
초급
software-design, oop
Học các nguyên tắc thiết kế đa dạng cần biết để viết mã hướng đối tượng, lấy mã hoạt động làm trung tâm.
Nguyên tắc thiết kế hướng đối tượng
Nhận biết vấn đề code qua nguyên tắc thiết kế
Cách tiến hóa mã bằng tái cấu trúc
Mối quan hệ giữa kiểm thử và chất lượng code
Khóa học này dành cho ai?
Những người muốn tìm hiểu về khái niệm và cách áp dụng nguyên tắc thiết kế hướng đối tượng
Người khó áp dụng OOP vào code
Những người cần các nguyên tắc và hướng dẫn cơ bản để thiết kế code tốt
Cần biết trước khi bắt đầu?
Cú pháp cơ bản Java
Kinh nghiệm lập trình bằng ngôn ngữ hướng đối tượng
2,102
Học viên
108
Đánh giá
72
Trả lời
5.0
Xếp hạng
2
Các khóa học
객체지향 설계와 도메인-주도 설계에 관심이 많으며 행복한 팀과 깔끔한 코드, 존중과 협력이 훌륭한 소프트웨어를 낳는다는 믿음을 가지고 있는 평범한 개발자입니다. 개발자, 교육자, 관리자를 오가며 익힌 다양한 경험을 바탕으로 좋은 코드와 함께 좋은 프로덕트를 만들기 위해 노력하고 있습니다.
저서로는 『객체지향의 사실과 오해』와 『오브젝트』가 있고 번역서로는 『엘레강트 오브젝트』가 있으며 『만들면서 배우는 클린 아키텍처』에 감수자로 참여했습니다.
💡개인블로그 : https://eternity-object.tistory.com/
Tất cả
33 bài giảng ∙ (6giờ 16phút)
Tài liệu khóa học:
Tất cả
24 đánh giá
5.0
24 đánh giá
Đánh giá 14
∙
Đánh giá trung bình 4.9
5
Thật vinh dự khi được để lại đánh giá đầu tiên. Tôi đã hoàn thành cả khóa học <오브젝트 - 기초편> và ngay sau đó là <오브젝트 - 설계원칙> rồi mới viết đánh giá này. Ưu điểm của khóa học là như sau: 1. Không chỉ liệt kê nguyên tắc mà còn có ví dụ code thực tế, giúp hiểu một cách trực quan. ㄴ Tôi cứ nghĩ mình đã hiểu nguyên tắc SOLID vì thường xuyên tiếp xúc, nhưng xem bài giảng mới biết đó là sự nhầm lẫn của tôi. 2. Tiện ích đã tăng lên so với <오브젝트 - 기초편>. ㄴ Tài liệu học tập cung cấp link repo liên quan, tiện lợi để truy cập. ㄴ Hình ảnh người chia sẻ kiến thức không còn hiển thị, giúp việc xem slide thuyết trình dễ dàng hơn nhiều. Cũng có một vài điểm hơi tiếc. (Nhỏ thôi.) 1. Mức âm lượng khác nhau giữa các video, hơi gây khó chịu. 2. Đôi khi video có lỗi. 3. Nếu các cách diễn đạt khẩu ngữ như '되게 됩니다.' được chỉnh sửa sẽ gọn gàng hơn. 4. Có trường hợp cách viết từ mượn khác nhau (e.g. 메서드/메소드), nếu phần này được thống nhất sẽ gọn gàng hơn. Tôi cũng rất khuyến khích xem <오브젝트 - 기초편>. Bạn sẽ hiểu bài giảng một cách rộng hơn. Nếu bạn không biết thiết kế hướng đối tượng là gì, tôi mạnh mẽ giới thiệu khóa học này. Tôi dự định sẽ giới thiệu cho nhiều người xung quanh mình nữa 😊😊 Cảm ơn anh Jo Young-ho đã tạo ra khóa học tuyệt vời này. Tôi mong đợi code của mình sẽ thay đổi rất nhiều trong tương lai. Chúc anh làm ít hưởng nhiều nhé 😊😊😊
Chào choiseonmun, tôi nhớ gần đây bạn đã để lại nhận xét về khóa học "오브젝트 - 기초편", vậy mà bạn đã hoàn thành khóa học rồi. Chúc mừng bạn đã hoàn thành khóa học và cảm ơn bạn đã để lại nhận xét. :) May quá khóa học đã giúp ích cho bạn. Ban đầu tôi định bỏ phần hình ảnh của mình theo yêu cầu của nhiều người quen, nhưng phản ứng tốt... thật may. Do vấn đề sức khỏe, thời gian quay phim kéo dài nên xảy ra vấn đề âm lượng hơi khác nhau. Nếu có ai cảm thấy khó chịu, tôi sẽ xem xét ghi âm lại cùng với "오브젝트 - 기초편" trong tương lai. :) Tôi tự mình làm hết từ sản xuất, quay phim đến chỉnh sửa khóa học, nhưng lần này tài liệu trình bày nhiều hơn tôi nghĩ. Dù tôi đã kiểm tra kỹ lưỡng ở giữa các phần, có vẻ như vẫn có những điểm tôi không nhận ra. Về phần này, tôi xin lỗi vì đã không kiểm tra kỹ lưỡng trước khi phát hành. Tôi cũng sẽ xem xét lại một lần nữa và sửa lỗi nhanh nhất có thể. :) Nếu tiện, nếu bạn báo lỗi về video hoặc sự nhất quán của các slide, tôi sẽ sửa và cập nhật nhanh nhất có thể. Câu nói "Làm ít, kiếm nhiều" thật sự thấm thía trong lòng tôi. Tôi hy vọng khóa học sẽ giúp bạn giảm chi phí bảo trì và nâng cao chất lượng mã code. Xin cảm ơn!
Đánh giá 3
∙
Đánh giá trung bình 5.0
5
Thú vị như xem phim vậy, câu chuyện về thiết kế cứ thế tiếp diễn~ Em sẽ tiếp tục nghe kỹ ạ~ Cảm ơn vì bài giảng rất hay bb
Cảm ơn bạn Byung-mo Kim đã để lại đánh giá khóa học. Khóa học được xây dựng theo luồng áp dụng các nguyên tắc thiết kế trong khi cải thiện các ví dụ, có vẻ bạn đang theo dõi một cách thú vị nhỉ. :) Độ khó sẽ tăng lên một chút ở phần sau, nhưng còn nhiều nội dung thú vị hơn đang chờ đợi, nên bạn hãy cố gắng hoàn thành khóa học nhé. Nếu có phần nào thắc mắc hoặc cần chỉnh sửa, hãy liên hệ bất cứ lúc nào nhé. Chúc bạn có một buổi tối Thứ Sáu tuyệt vời và những ngày hạnh phúc.
Đánh giá 2
∙
Đánh giá trung bình 5.0
Đã chỉnh sửa
5
Tiếp theo phần cơ bản, đây dường như là khóa học tốt nhất về lập trình hướng đối tượng. Nội dung rất đầy đủ, được cấu trúc chặt chẽ từ khái niệm đến ví dụ.
Cảm ơn soljie74 đã để lại đánh giá khóa học. Nếu khóa 'Object - Cơ bản' giải thích cách viết code hướng đối tượng, thì khóa 'Object - Nguyên tắc thiết kế' đã cố gắng giải thích cách cải thiện bằng thiết kế hướng đối tượng, và thật may mắn khi khóa học đã giúp ích cho bạn. Nếu có bất kỳ phần nào thắc mắc hoặc cần chỉnh sửa, hãy liên hệ bất cứ lúc nào nhé. Chúc mừng bạn đã hoàn thành khóa học và chúc bạn cuối tuần vui vẻ!
Đánh giá 2
∙
Đánh giá trung bình 5.0
5
Tôi đã nghe bài giảng rất thú vị. Tôi cứ nghĩ mình đã hiểu rõ các nguyên tắc thiết kế, nhưng thật ngạc nhiên là có nhiều điều tôi đã hiểu sai. Nhờ giảng giải bằng code mà tôi có thể hiểu dễ dàng. Trước đây tôi không biết phải refactoring code như thế nào, nhưng sau khi nghe giảng, tôi đã có thể đặt ra một số tiêu chuẩn rõ ràng. Cảm ơn vì đã tạo ra một bài giảng hay!
Cảm ơn bạn 개발인생 đã để lại đánh giá khóa học. Tôi đã sắp xếp các nguyên tắc thiết kế sao cho có thể áp dụng khi viết mã thực tế, thật may là nó đã hữu ích cho bạn. :) Nếu có bất cứ điều gì thắc mắc, hãy cứ để lại câu hỏi bất cứ lúc nào nhé! Chúc mừng bạn đã hoàn thành khóa học và chúc bạn có một tuần mới hạnh phúc.
Đánh giá 2
∙
Đánh giá trung bình 5.0
5
Nội dung bài giảng rất hay, và tôi thực sự cảm động khi thấy giảng viên đã vẽ cả sơ đồ để giúp chúng tôi hiểu rõ hơn trong phần hỏi đáp! Xin cảm ơn giảng viên vì một bài giảng tuyệt vời. Tuy nhiên, tôi cảm thấy tiếc vì bài giảng không được thực hiện theo hình thức live coding, điều này khiến học viên tốn năng lượng không cần thiết. Những điểm khiến tôi cảm thấy tốn năng lượng vì đây không phải là live coding khi xem bài giảng như sau: 1. Có những đoạn mã bị thiếu một cách bất ngờ trong các slide PowerPoint hoặc tài liệu. Nếu là live coding, IDE đã có thể bắt lỗi và sẽ không có vấn đề gì. 2. Giảng viên đã cho xem các phương thức thay đổi trong quá trình bài giảng, nhưng tôi tò mò về cách các hàm tạo (constructor) thay đổi và đã cố gắng theo dõi bằng cách xem mã nguồn, nhưng đoạn mã được cung cấp là đoạn mã hoàn chỉnh vào cuối buổi học, nên mã nguồn không khớp. 3. Nội dung về việc chia gói (package) mã nguồn bị lược bỏ và chỉ xuất hiện trong đoạn mã hoàn chỉnh. Tôi không rõ quan điểm của những học viên chỉ xem và hiểu, nhưng đối với một người vừa gõ mã vừa nghe giảng, những điểm này gây bất tiện. Dù không sao khi xem lại nhiều lần để ôn tập, nhưng tôi cảm thấy tiếc vì phải tốn năng lượng ngoài việc chỉ đơn thuần cố gắng hiểu bài giảng. Nói một cách ngắn gọn, tôi có cảm giác như giảng viên đang viết một cuốn sách hay và đọc nó lên, hơn là tận dụng những lợi thế của một bài giảng VOD. Tuy nhiên, nội dung bài giảng tự nó rất xuất sắc, vì vậy tôi xin cảm ơn giảng viên đã mang đến một bài giảng chất lượng.
Xin chào anh Kim Cheol-jun. Cảm ơn anh đã để lại đánh giá tốt. Việc tạo từng trang tài liệu bài giảng rất khó khăn, nên tôi rất cảm ơn vì anh đã đánh giá cao. 🙂 Khi giảng dạy trong một thời gian dài, tôi nhận ra rằng mỗi học viên đều có những sở thích đa dạng. Có người thích học trực tiếp, có người thích học trực tuyến, và có người lại thích kiểu bài giảng truyền thống thay vì lập trình trực tiếp (live coding). Vì vậy, điều quan trọng là học viên phải chọn khóa học phù hợp với sở thích cá nhân khi lựa chọn bài giảng, và giảng viên cũng phải cân nhắc giữa các sở thích khác nhau của từng cá nhân và việc chọn định dạng phù hợp cho bài giảng. Cốt lõi của Lập trình hướng đối tượng - Nguyên tắc thiết kế không phải là code, mà là truyền đạt cách nhà phát triển tư duy theo tiêu chí nào và cách họ đánh đổi trong mỗi khoảnh khắc. Và thiết kế không chỉ dừng lại ở một lớp (class) hay một phương thức (method), mà trọng tâm là việc phân phối trách nhiệm và quản lý sự phụ thuộc trên nhiều lớp. Vấn đề của live coding ở đây là nó giới hạn tầm nhìn của học viên tại một thời điểm chỉ vào một lớp hoặc một phương thức. Vì vậy, để thảo luận về thiết kế, việc thể hiện trực quan các thay đổi và mối quan hệ của nhiều lớp sẽ hữu ích hơn rất nhiều. Khi số lượng lớp được sửa đổi cùng lúc càng nhiều, năng lượng cần thiết để nắm bắt cấu trúc tổng thể – xem lớp nào bị ảnh hưởng như thế nào theo những thay đổi code giữa chừng – sẽ lớn hơn nhiều so với việc tiêu tốn năng lượng không cần thiết do không tiến hành live coding như anh đã đề cập trong đánh giá. Do đó, anh có thể xem xét rằng bài giảng được thiết kế theo cách giúp học viên giảm bớt năng lượng để hiểu được luồng thiết kế. Ưu điểm này lớn hơn nhiều so với nhược điểm mà anh đã nói, nên tôi đã chọn phương pháp hiện tại. 🙂 Như tôi đã đề cập, mỗi người có sở thích khác nhau và có lẽ anh Kim Cheol-jun quen thuộc và phù hợp với các khóa học được tiến hành hoàn toàn bằng live coding từ đầu đến cuối. Bài giảng của tôi cũng có thể bổ sung live coding như phần "오브젝트 - 기초편" (Object - Phần cơ bản), nhưng nếu chủ đề là thiết kế, thì định dạng hiện tại sẽ là trọng tâm và live coding sẽ được bổ sung. Tôi rất cảm ơn vì anh đã đóng góp ý kiến quý báu về phương pháp giảng dạy. Tôi sẽ tiếp tục suy nghĩ để có những bài giảng tốt hơn trong tương lai. Ngay cả khi phương pháp hiện tại không hoàn toàn phù hợp với phong cách học của anh Kim Cheol-jun, tôi tin rằng các nguyên tắc thiết kế tự thân chắc chắn sẽ hữu ích cho anh. Nếu anh quen thuộc hơn với phương pháp live coding, việc nghe thêm các bài giảng bổ trợ theo phong cách đó cũng có thể là một ý hay. Chúc anh có một khởi đầu tuần mới hạnh phúc và luôn gặt hái được sự phát triển!
2.298.364 ₫
Hãy khám phá các khóa học khác của giảng viên!
Khám phá các khóa học khác trong cùng lĩnh vực!