SlideShare una empresa de Scribd logo
1 de 18
Descargar para leer sin conexión
บริษัท สยาม๡ํานาญกิจ จํากัด และเพื่อนพ้องน้องพี่
Code Quality ?
Design Pattern
@somkiat
บริษัท สยาม๡ํานาญกิจ จํากัด และเพื่อนพ้องน้องพี่
Pattern Language 1977
บริษัท สยาม๡ํานาญกิจ จํากัด และเพื่อนพ้องน้องพี่
บริษัท สยาม๡ํานาญกิจ จํากัด และเพื่อนพ้องน้องพี่
Each pattern describes a problem which occurs
over and over again in our environment, and then
describes the core of the solution to that
problem, in such a way that you can use this
solution a million times over, without ever doing
it the same way twice
Christopher Alexander (Architect) “A Pattern Language”
บริษัท สยาม๡ํานาญกิจ จํากัด และเพื่อนพ้องน้องพี่
Design Pattern 1994
บริษัท สยาม๡ํานาญกิจ จํากัด และเพื่อนพ้องน้องพี่
บริษัท สยาม๡ํานาญกิจ จํากัด และเพื่อนพ้องน้องพี่
Design Pattern 1994
Program to an interface, not implementation
Object composition over class inheritance
บริษัท สยาม๡ํานาญกิจ จํากัด และเพื่อนพ้องน้องพี่
SOLID 2000
บริษัท สยาม๡ํานาญกิจ จํากัด และเพื่อนพ้องน้องพี่
SOLID
Single Responsibility Principle
Open/Close Principle
Liskov Substitution Principle
Interface Segregation Principle
Dependency Inversion Principle
บริษัท สยาม๡ํานาญกิจ จํากัด และเพื่อนพ้องน้องพี่
บริษัท สยาม๡ํานาญกิจ จํากัด และเพื่อนพ้องน้องพี่
Functional Interface 2014
บริษัท สยาม๡ํานาญกิจ จํากัด และเพื่อนพ้องน้องพี่
บริษัท สยาม๡ํานาญกิจ จํากัด และเพื่อนพ้องน้องพี่
GoF patterns
Structural
Behavioral
Creational
บริษัท สยาม๡ํานาญกิจ จํากัด และเพื่อนพ้องน้องพี่
Structural patterns
Adapter Bridge Decorator
Composite Proxy Flyweight
บริษัท สยาม๡ํานาญกิจ จํากัด และเพื่อนพ้องน้องพี่
Structural patterns
Adapter Bridge Decorator
Composite Proxy Flyweight
Object composition over class inheritance
บริษัท สยาม๡ํานาญกิจ จํากัด และเพื่อนพ้องน้องพี่
Behavioral patterns
Command Observer State
Iteration Visitor
บริษัท สยาม๡ํานาญกิจ จํากัด และเพื่อนพ้องน้องพี่
Creational patterns
Static Factory Singleton
Abstract Factory Builder
Monad
บริษัท สยาม๡ํานาญกิจ จํากัด และเพื่อนพ้องน้องพี่

Más contenido relacionado

Destacado

Java Design Pattern Interview Questions
Java Design Pattern Interview QuestionsJava Design Pattern Interview Questions
Java Design Pattern Interview Questions
jbashask
 
Top 9 design pattern interview questions answers
Top 9 design pattern interview questions answersTop 9 design pattern interview questions answers
Top 9 design pattern interview questions answers
hudsons168
 
Employee equity incentives
Employee equity incentivesEmployee equity incentives
Employee equity incentives
Bart Greenberg
 

Destacado (20)

Automation test for Android
Automation test for AndroidAutomation test for Android
Automation test for Android
 
DevOps 101
DevOps 101DevOps 101
DevOps 101
 
Java Design Pattern Interview Questions
Java Design Pattern Interview QuestionsJava Design Pattern Interview Questions
Java Design Pattern Interview Questions
 
Secure Test-Driven Development
Secure Test-Driven DevelopmentSecure Test-Driven Development
Secure Test-Driven Development
 
Meetup :: Update Elastic Stack 5.0
Meetup :: Update Elastic Stack 5.0Meetup :: Update Elastic Stack 5.0
Meetup :: Update Elastic Stack 5.0
 
If-If-If-If
If-If-If-IfIf-If-If-If
If-If-If-If
 
Sck Mobile Application Security
Sck Mobile Application SecuritySck Mobile Application Security
Sck Mobile Application Security
 
Continuous Delivery with fastlane
Continuous Delivery with fastlaneContinuous Delivery with fastlane
Continuous Delivery with fastlane
 
Piec Przemian - jak zaczac przygode
Piec Przemian - jak zaczac przygodePiec Przemian - jak zaczac przygode
Piec Przemian - jak zaczac przygode
 
Design Patern::Adaptor pattern
Design Patern::Adaptor patternDesign Patern::Adaptor pattern
Design Patern::Adaptor pattern
 
ba-danchenko-2017
ba-danchenko-2017ba-danchenko-2017
ba-danchenko-2017
 
Pecha kucha inclusión
Pecha kucha inclusiónPecha kucha inclusión
Pecha kucha inclusión
 
Top 9 design pattern interview questions answers
Top 9 design pattern interview questions answersTop 9 design pattern interview questions answers
Top 9 design pattern interview questions answers
 
หลักการออกแบบ Principle of Design
หลักการออกแบบ Principle of Design หลักการออกแบบ Principle of Design
หลักการออกแบบ Principle of Design
 
Out of box page object design pattern, java
Out of box page object design pattern, javaOut of box page object design pattern, java
Out of box page object design pattern, java
 
Design patterns difference between interview questions
Design patterns   difference between interview questionsDesign patterns   difference between interview questions
Design patterns difference between interview questions
 
Building A Stable, Fundable Startup
Building A Stable, Fundable StartupBuilding A Stable, Fundable Startup
Building A Stable, Fundable Startup
 
Employee equity incentives
Employee equity incentivesEmployee equity incentives
Employee equity incentives
 
Startups: Attracting and Retaining Talent (updated 3/6/13)
Startups: Attracting and Retaining Talent (updated 3/6/13)Startups: Attracting and Retaining Talent (updated 3/6/13)
Startups: Attracting and Retaining Talent (updated 3/6/13)
 
Common Entrepreneur Mistakes
Common Entrepreneur MistakesCommon Entrepreneur Mistakes
Common Entrepreneur Mistakes
 

Más de Somkiat Puisungnoen

Más de Somkiat Puisungnoen (18)

Next of Java 2022
Next of Java 2022Next of Java 2022
Next of Java 2022
 
Sck spring-reactive
Sck spring-reactiveSck spring-reactive
Sck spring-reactive
 
Part 2 :: Spring Boot testing
Part 2 :: Spring Boot testingPart 2 :: Spring Boot testing
Part 2 :: Spring Boot testing
 
vTalk#1 Microservices with Spring Boot
vTalk#1 Microservices with Spring BootvTalk#1 Microservices with Spring Boot
vTalk#1 Microservices with Spring Boot
 
Lesson learned from React native and Flutter
Lesson learned from React native and FlutterLesson learned from React native and Flutter
Lesson learned from React native and Flutter
 
devops
devops devops
devops
 
Angular :: basic tuning performance
Angular :: basic tuning performanceAngular :: basic tuning performance
Angular :: basic tuning performance
 
Shared code between projects
Shared code between projectsShared code between projects
Shared code between projects
 
Distributed Tracing
Distributed Tracing Distributed Tracing
Distributed Tracing
 
Manage data of service
Manage data of serviceManage data of service
Manage data of service
 
RobotFramework Meetup at Thailand #2
RobotFramework Meetup at Thailand #2RobotFramework Meetup at Thailand #2
RobotFramework Meetup at Thailand #2
 
Visual testing
Visual testingVisual testing
Visual testing
 
Cloud Native App
Cloud Native AppCloud Native App
Cloud Native App
 
Wordpress for Newbie
Wordpress for NewbieWordpress for Newbie
Wordpress for Newbie
 
Sck Agile in Real World
Sck Agile in Real WorldSck Agile in Real World
Sck Agile in Real World
 
Clean you code
Clean you codeClean you code
Clean you code
 
SCK Firestore at CNX
SCK Firestore at CNXSCK Firestore at CNX
SCK Firestore at CNX
 
Git as NoSQL
Git as NoSQLGit as NoSQL
Git as NoSQL
 

Design pattern with Java 8