강의

멘토링

커뮤니티

Programming

/

Programming Language

Bắt đầu dễ dàng với mẫu thiết kế Java cùng giáo viên Eunjong

Bạn có thể học các mẫu thiết kế để triển khai lập trình hướng đối tượng linh hoạt và mở rộng. Hãy học nhiều mẫu thực tế có thể sử dụng trong công việc và áp dụng vào dự án và tái cấu trúc mã.

(4.6) 8 đánh giá

203 học viên

  • eunjong
oop
Design Pattern
Refactoring

Đánh giá từ những học viên đầu tiên

Dịch cái này sang tiếng Việt

  • mẫu thiết kế

  • Lập trình hướng đối tượng

  • tái cấu trúc

  • Java

Khóa đào tạo lập trình viên nội bộ của Kakao!
Chỉ học những mẫu thiết kế được lựa chọn cẩn thận 🤓

Các mẫu thiết kế được học thông qua các ví dụ thực tế ✨

Tại sao ngày nay có nhiều hệ thống được phát triển bằng ngôn ngữ lập trình hướng đối tượng? Điều này giúp việc mở rộng chức năng, thay đổi yêu cầu và duy trì hệ thống hoặc giải pháp sau khi phát triển trở nên hiệu quả hơn. Để những thay đổi này được thực hiện dễ dàng, thiết kế hướng đối tượng phù hợp phải được triển khai ngay từ giai đoạn thiết kế. Học các mẫu thiết kế sẽ giúp bạn hiểu và áp dụng nhiều giải pháp vào thiết kế của mình.

Tại sao bạn nên nghiên cứu các mẫu thiết kế? 🤔

Nếu có thể áp dụng cùng một giải pháp cho một vấn đề thường gặp thì thiết kế này được gọi là một mẫu. Mẫu thiết kế là một lĩnh vực mà bốn học giả đầu tiên, GoF, đã phân tích nhiều hệ thống và phần mềm hiện có và tổ chức hướng đi cho giải pháp hợp lý nhất cho từng vấn đề . Vì vậy, các mẫu thiết kế không phải là quy tắc hay ngữ pháp. Ngoài ra, nó không giới hạn ở ngôn ngữ và có thể được áp dụng cho bất kỳ ngôn ngữ hướng đối tượng nào.

Các nhà phát triển cũng sử dụng các khuôn khổ và phương pháp tốt để phát triển các chương trình linh hoạt và dễ bảo trì. Các mẫu thiết kế đã được áp dụng trong nhiều khuôn khổ . Việc tìm hiểu về các mô hình này rất có giá trị, nhưng nếu bạn đã thiết kế được giải pháp hiệu quả cho một vấn đề, bạn có thể tạo ra mô hình của riêng mình.


Bài giảng này được sử dụng làm video đào tạo cho các nhà phát triển nội bộ tại Kakao . Cuốn sách này được biên soạn nhằm giúp những người biết ngữ pháp Java nhưng gặp khó khăn trong thiết kế hướng đối tượng bằng cách sử dụng các lớp học thông qua các mẫu thiết kế. GoF giới thiệu 23 mẫu, nhưng trong bài giảng này, tôi sẽ chỉ giới thiệu 16 mẫu được sử dụng rộng rãi trong các lĩnh vực thực tế và hữu ích trong thực tế . Chỉ nghiên cứu các mẫu được sử dụng rộng rãi và áp dụng trong các khuôn khổ và thư viện khác! Nghiên cứu điều này cũng sẽ giúp bạn hiểu được khuôn khổ sau này.

Học với các ví dụ dễ hiểu và thú vị ✨

  • Mỗi mẫu có thể dễ dàng hiểu được thông qua ví dụ.
  • Chúng tôi cung cấp mã mẫu và cải tiến mã để có thể mở rộng bằng cách áp dụng các mẫu thiết kế. Bạn có thể học bằng cách xem mã thay đổi thông qua ứng dụng mẫu.
  • Chúng tôi sẽ dạy bạn những phương pháp thiết kế có thể áp dụng trong thực tế.

Tôi giới thiệu điều này cho những người này 🙋‍♀️

Dành cho những ai không biết cách lập trình hướng đối tượng

Người tìm việc làm lập trình viên hoặc lập trình viên mới hoặc đã nghỉ việc

Bất kỳ ai muốn trải nghiệm phát triển OOP bằng Java

Dành cho những ai muốn hiểu các nguyên tắc thiết kế trước khi nghiên cứu khuôn khổ


Học những điều như thế này 🤓

- Ví dụ học tập về mô hình Strategy

1. Vấn đề là gì?

  • Trước tiên, chúng ta hãy giải thích tình huống có vấn đề nào dẫn đến mô hình này và mô hình này được thiết kế để làm gì và nhằm mục đích cải thiện điều gì.


2. Hiểu các mẫu thông qua sơ đồ lớp

  • Tìm hiểu cách áp dụng các mẫu thông qua sơ đồ lớp và các ví dụ thực tế, dễ làm theo.

3. Áp dụng các mẫu và tái cấu trúc thông qua các ví dụ thực tế

📢 Vui lòng kiểm tra trước khi tham gia lớp học!

  • Địa chỉ GitLab và địa chỉ GitHub nguồn được sử dụng trong bài giảng có thể được tìm thấy trong ghi chú bài giảng ở cuối bài giảng Factory Method ở Phần 1.

Xem trước các bài đánh giá khóa học 📜

*Đây là phản hồi về hoạt động cố vấn bên ngoài mà người chia sẻ kiến ​​thức đã trải qua trong cùng một quy trình.

"Tôi đã có thể học các mẫu hiệu quả chủ yếu được sử dụng, từ mẫu singleton đến mẫu adapter. Bằng cách hiểu các đặc điểm của từng mẫu và mối quan hệ hợp tác giữa các đối tượng, tôi đã có thể hiểu rõ hơn về Spring Framework mà tôi sẽ học sau "

Học viện đổi mới - Kang*su

"Trước khi tôi bắt đầu học, tôi đã gặp khó khăn trong việc hiểu các mẫu ngay cả khi tôi xem mô tả sách và UML. Khi tôi đang học, sau khoảng 2-3 tuần, tôi bắt đầu nghĩ rằng các mẫu thiết kế cuối cùng là một phương pháp luận để sử dụng trừu tượng và giao diện tốt. Tôi đã làm. Tuy nhiên, khi tôi tiếp tục nghiên cứu, tôi bắt đầu hiểu tại sao các mẫu này phải xuất hiện. Sau khi nghiên cứu, tôi đã ngạc nhiên về mức độ hiểu biết của mình về từng mẫu."

Học viện đổi mới - Lee*

"Tôi đã nộp đơn xin tham gia nhóm học sau khi học Java lần đầu tiên. Nhóm học được tiến hành bằng cách tái cấu trúc mã và giải quyết các bài tập bằng nhiều mẫu thiết kế khác nhau như mẫu cầu nối, mẫu phương pháp nhà máy và mẫu quan sát mỗi tuần. Tôi đã học các mẫu thiết kế tự mình. "Tôi có thể hiểu được những phần khó trong quá trình học của mình theo cách thú vị bằng cách làm bài tập và học tập."

Học viện đổi mới - Kim*Yeon

"Nghiên cứu mẫu thiết kế này thú vị hơn nghiên cứu Java trước! Đặc biệt, tôi nghĩ tôi nhớ rất nhiều về mẫu nhà máy, mẫu chiến lược và mẫu quan sát. Tôi đã có thể trải nghiệm một chút sức mạnh to lớn của sự tiện lợi bảo trì thông qua mẫu thiết kế. Tôi nghĩ vậy. Hiện tại tôi đang làm một dự án sử dụng Spring và tôi hy vọng rằng tôi có thể áp dụng những gì mình học được thông qua nghiên cứu này để viết mã tốt hơn một chút."

Học viện đổi mới - Jo*jin


Bạn sẽ học được gì 📚

1. Mẫu thiết kế là gì? Thế còn tái cấu trúc thì sao?

2. Các mẫu để tạo đối tượng

  • Phương pháp Factory - Tạo và tái cấu trúc đối tượng bằng cách sử dụng các nhà máy
  • Abstract Factory - Tạo một tập hợp các phiên bản bằng cách chọn một nhà máy.
  • Singleton - Chỉ tạo một thể hiện

3. Làm cho nó linh hoạt hơn bằng cách tách biệt khung thuật toán hoặc chức năng và phần triển khai.

  • Chiến lược - Tách biệt các chính sách hoặc thuật toán và cho phép thay thế bổ sung khi cần thiết.
  • Cầu nối - Tách phần hàm được khai báo khỏi các phần triển khai khác nhau và kết nối chúng thông qua một cầu nối.
  • Phương pháp mẫu - Luồng cố định được định nghĩa là một mẫu và các phương thức có thể được triển khai theo nhiều cách khác nhau trong đó được triển khai trong các lớp con.

4. Xác định

  • Decorator - Thêm nhiều chức năng linh hoạt (Xác định đối tượng và Decorator)
  • Hợp thành - Xác định một đối tượng đơn giản với một đối tượng hợp thành chứa nó.

5. Làm cho nó linh hoạt bằng cách thể hiện trạng thái như một lớp

  • Trạng thái - Khi chức năng của toàn lớp được xác định dựa trên nhiều giá trị của trạng thái.
  • Người quan sát - Khi bạn cần thông báo những thay đổi cho nhiều đối tượng (Người quan sát) phụ thuộc vào một đối tượng (Chủ thể).

6. Làm cho sự phức tạp trở nên đơn giản

  • Mặt tiền - Cung cấp một giao diện duy nhất để khách hàng dễ dàng sử dụng.
  • Mediator - Ngăn chặn nhiều đối tượng giao tiếp với nhau và chỉ giao tiếp với một đối tượng trung tâm.

7. Các mẫu chuyển động xung quanh cấu trúc

  • Iterator - Cung cấp giao diện thống nhất về cách lặp lại một đối tượng.
  • Người truy cập - Truy cập một đối tượng và thực hiện một chức năng.

8. Cách kiểm soát quyền truy cập

  • Proxy - Một đại biểu cho một đối tượng thực

9. Khả năng tương thích

  • Bộ điều hợp - Thay đổi giao diện theo ý muốn của khách hàng.

10. Lệnh như Đối tượng

  • Lệnh - Đóng gói và xử lý các tác vụ cần được thực hiện theo nhiều cách khác nhau vào một giao diện nhất quán.

11. Cuộc sống thông minh với các mẫu thiết kế


Câu hỏi dự kiến ​​Q&A 💬

H. Tôi có thể bắt đầu mà không cần biết Java không? Hay tôi nên ở trình độ mới bắt đầu?

Ngay cả khi bạn không biết Java, bạn vẫn có thể tham gia khóa học nếu bạn biết một ngôn ngữ OOP khác. Tuy nhiên, nếu bạn hoàn toàn không có kiến ​​thức cơ bản, Inflearn có khóa học Java cơ bản miễn phí. Tôi khuyên bạn nên tham dự buổi thuyết trình đó trước.

H. Tôi đã học các ngôn ngữ hướng đối tượng khác (C++, C#) . Bạn vẫn có thể nghe thấy tôi chứ?

Hầu hết các ngôn ngữ OOP đều được thiết kế dựa trên các khái niệm tương tự nhau. Do đó, nếu bạn đã học một ngôn ngữ hướng đối tượng, việc tham gia khóa học này sẽ mang lại cho bạn lợi ích là có thể giết hai con chim chỉ bằng một hòn đá khi cho phép bạn học Java và thiết kế hướng đối tượng cùng một lúc.

H. Lợi ích của việc học các mẫu thiết kế là gì?

Các mẫu thiết kế không phải là ngữ pháp hay quy tắc. Tuy nhiên, nó xác định được vấn đề và đề xuất phương pháp thiết kế tốt nhất cho vấn đề đó. Bằng cách học quy trình này cùng với mã, bạn có thể triển khai nhiều ứng dụng và tiện ích mở rộng khi thiết kế một chương trình mới. Bằng cách học hỏi từ những mẫu thiết kế tốt, chúng ta có thể triển khai những thiết kế tốt hơn.

H. Điều này có thể áp dụng vào thực tế được không?

Nhiều khuôn khổ và chương trình phát triển mà chúng ta sử dụng trong thực tế đã có các mẫu thiết kế được áp dụng cho nhiều bộ phận khác nhau. Do đó, việc học các mẫu thiết kế sẽ giúp ích rất nhiều trong việc hiểu mã hiện có. Nó cũng sẽ giúp sinh viên viết code hiệu quả hơn trong tương lai.


Giới thiệu người chia sẻ kiến ​​thức ✒️

Tôi học chuyên ngành kỹ thuật máy tính tại Đại học Dongguk và nhận bằng thạc sĩ kỹ thuật máy tính tại Khoa sau đại học của Đại học Quốc gia Seoul. Trong thời gian làm việc tại công ty, tôi đã tham gia nhiều dự án phát triển bằng các ngôn ngữ như Java, C và C++, đồng thời giảng dạy về Java, web, cấu trúc dữ liệu và thuật toán, di động và mẫu thiết kế tại Bit Computer và T Academy.

Tôi đã dạy các lớp lập trình cho sinh viên không chuyên ngành tại Đại học Kookmin và Đại học Kyunghee, đồng thời dạy lập trình Java và các lớp thực hành lập trình với tư cách là giáo sư thỉnh giảng tại NHN NEXT. Với 10 năm làm lập trình viên, tôi hiểu rõ nhu cầu trong lĩnh vực này, đồng thời sau 10 năm giảng dạy, tôi cũng hiểu được tâm lý của người mới bắt đầu.

Mối quan tâm lớn nhất của tôi hiện nay là giúp mọi người từ mọi tầng lớp, từ học sinh tiểu học đến người lớn, trở nên hứng thú và nghiên cứu thế giới lập trình tuyệt vời. Hiện tại, tôi là cố vấn tại Học viện Đổi mới (42 Seoul).

Lịch sử

  • Học viện đổi mới (42 SEOUL) Người cố vấn
  • Tác giả của 'Do It Java Programming Introduction' (Easy Publishing)
  • Fast Campus, đơn vị sáng tạo ra khóa học lập trình Java phổ biến của Inflearn
  • Giáo sư bán thời gian NHN NEXT, Trung tâm giáo dục Beat, giảng viên TAcademy
  • Trưởng nhóm phát triển Spectra
  • Công nghệ thông tin hiện đại
  • Bằng thạc sĩ khoa học máy tính của Đại học quốc gia Seoul
  • Cử nhân Kỹ thuật máy tính, Đại học Dongguk

Danh mục đầu tư/Video cá nhân


Khuyến nghị cho
những người này

Khóa học này dành cho ai?

  • người mới bắt đầu học java

  • Những người muốn học lập trình hướng đối tượng bằng ngôn ngữ khác và cũng muốn học Java.

  • Java là ngôn ngữ lập trình mà bạn đã từng sử dụng

  • Dành cho những ai muốn học lập trình hướng đối tượng với các mẫu thiết kế

Cần biết trước khi bắt đầu?

  • Java

  • Ngôn ngữ lập trình hướng đối tượng

Xin chào
Đây là

1,592

Học viên

63

Đánh giá

83

Trả lời

4.8

Xếp hạng

3

Các khóa học

지식공유자 소개 ✒️

동국대학교에서 컴퓨터 공학을 전공하고 서울대학교 대학원에서 컴퓨터 공학 석사 학위를 받았습니다. 회사를 다닐 때는 자바, C, C++ 등 언어로 다수의 개발 프로젝트를 진행하였고, 비트 컴퓨터, T 아카데미에서 자바, 웹, 자료구조와 알고리즘, 모바일, 디자인 패턴 분야 등의 강의를 진행하였습니다.

국민대와 경희대에서 비전공자를 대상으로 하는 프로그래밍 강의를 하였으며,  NHN NEXT에서 겸직 교수로 자바 프로그래밍과 프로그래밍 연습 강의를 진행했습니다. 10년은 개발자로 일했기에 실무에서 필요한 내용을 잘 알고, 또 다른 10년은 강의를 하며 초보자의 마음까지 잘 알게 되었습니다.

요즘 최대 관심사는 초등학생부터 어른까지 각계각층의 사람들이 멋진 프로그래밍 세계에 관심을 가지고 공부할 수 있도록 도와주는 것입니다. 현재는 이노베이션 아카데미(42서울)의 멘토로 있답니다.

이력 사항

이노베이션 아카데미(42 SEOUL) 멘토

'Do It 자바 프로그래밍 입문' 저자(이지스퍼블리싱)

패스트캠퍼스, 인프런의 인기 자바 프로그래밍 강의 제작자

NHN NEXT 겸직교수, 비트교육센터, TAcademy 강사

스펙트라 개발 팀장

현대정보기술

서울대학교 컴퓨터공학부 석사

동국대학교 컴퓨터공학과 학사

포트폴리오/개인 영상

Do it 자바프로그래밍 입문 저자

http://www.yes24.com/Product/Goods/62281686

Do it 자바 프로그래밍 입문 강의 (인프런)

자바 기초부터 마스터하기 with 은종쌤 (Do it 자바 프로그래밍 입문) - Part 1(기초편)

은종쌤과 자바로 디자인 패턴 쉽게 시작하기

은종쌤의 프로그래밍 강의 (유튜브)

https://www.youtube.com/channel/UCTBVYQc1ZVDbAZcm1J_pniA

 

 

Chương trình giảng dạy

Tất cả

20 bài giảng ∙ (6giờ 34phút)

Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Tất cả

8 đánh giá

4.6

8 đánh giá

  • j1yeon님의 프로필 이미지
    j1yeon

    Đánh giá 10

    Đánh giá trung bình 4.9

    5

    100% đã tham gia

    I watched DoIt Java lecture first and was waiting for Eun Jong's other lecture. I had to study design patterns at that time, and Eun Jong was giving a design pattern lecture?! This was fate. I paid without hesitation for even a second. Explanation👍 Example👍

    • eunjong
      Giảng viên

      Thank you for your good review. I am so glad that you took the introductory course and also learned about design patterns. The first 2 people to write a review will receive the book "Do it Java Programming Introduction" on Monday. Please send your address and contact information to eunjong.park@gmail.com and I will send it on Monday. I hope you grow into a good developer.

  • eldeach님의 프로필 이미지
    eldeach

    Đánh giá 4

    Đánh giá trung bình 5.0

    5

    100% đã tham gia

    It was a class that made design patterns easy to approach.

    • eunjong
      Giảng viên

      Thank you for your good review. I will send you the book as soon as I receive the contact information of the other person who wrote the review. I am also proud of the lecture because you said it was easy to approach~

  • kwindow20898님의 프로필 이미지
    kwindow20898

    Đánh giá 5

    Đánh giá trung bình 3.8

    4

    45% đã tham gia

    Is there no lesson plan? The text on the screen is too small.

    • eunjong
      Giảng viên

      There are lecture materials at the gitlab address in the lecture notes at the bottom of the Fatory Method lecture. I announced it in the lecture introduction. Thank you^^

  • brucehanbusiness님의 프로필 이미지
    brucehanbusiness

    Đánh giá 7

    Đánh giá trung bình 4.3

    4

    100% đã tham gia

    I was able to understand design patterns well in a short lecture of about 6 hours :) However, if there are any regrettable parts, 1. The volume is low 2. The image quality was a bit disappointing.

    • eunjong
      Giảng viên

      Thank you for understanding. Even though we filmed it in a studio and edited it in Kakao, there were still some shortcomings. We will pay more attention next time.

    • The code is a bit blurry, so it would be better if only this part could be improved :)

  • mjdkimss5569님의 프로필 이미지
    mjdkimss5569

    Đánh giá 18

    Đánh giá trung bình 5.0

    5

    30% đã tham gia

    1.610.647 ₫

    Khóa học khác của eunjong

    Hãy khám phá các khóa học khác của giảng viên!

    Khóa học tương tự

    Khám phá các khóa học khác trong cùng lĩnh vực!