ParsX.com
پذیرش پروژه از دانشجویی ... تا سازمانی 09376225339
 
   ProfileProfile   Log in to check your private messagesLog in to check your private messages  |  FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups Log inLog in   RegisterRegister 

Factory Pattern

 
Post new topic   Reply to topic    ParsX.com Forum Index -> Java
View previous topic :: View next topic  
Author Message
vahid
بي تو هرگز


Joined: 26 Nov 2004
Posts: 3067
Location: Tehran

PostPosted: Wed Oct 29, 2014 11:37 am    Post subject: Factory Pattern Reply with quote

یکی از پر مصرف ترین الگوهای طراحی در جاوا می باشد. این نوع الگوی طراحی زیر مجموعه Creational pattern می باشد و یکی از بهترین راه های ایجاد شی می باشد. در الگوی Factory اشیا را بدون افشای منطق ساخت توسط کلاینت و با اشاره به اشیای جدید ایجاد شده با استفاده از اینترفیس های معمول ایجاد می شود.
Back to top
vahid
بي تو هرگز


Joined: 26 Nov 2004
Posts: 3067
Location: Tehran

PostPosted: Wed Oct 29, 2014 1:25 pm    Post subject: مواد لازم برای Factory Pattern Reply with quote

گام اول:
یک اینترفیس می سازیم به اسم Shape که یک پراسیجر خروجی void دارد به نام draw .
سه تا کلاس می سازیم به اسم های Rectangle, Square, Circle که Shape را implement می کنند. و تابع draw را هم پیاده می کنند.
گام بعدی:
ساختن یک شی به نام ShapeFactory هست که تابعی دارد به نام getShape() این تابع خروجی از نوع Shape دارد که قرار است اشیا گام اول را ایجاد کند. کلاس دیگری می سازیم به نام FactoryPatternDemo که در آن برنامه را ایجاد می کنیم :
Step 1
Create an interface:
Shape.java
public interface Shape {
void draw();
}

Step 2
ساخت کلاس هایی که از اینترفیس فوق نشات می گیرند:
Rectangle.java
public class Rectangle implements Shape {
@Override
public void draw(){
System.out.println("Inside Rectangle::draw() method. " );
}
}

Square.java

public class Square implements Shape {
@Override
public void draw(){
System.out.println("Inside Square::draw() method. " );
}
}

Circle.java

public class Circle implements Shape {
@Override
public void draw(){
System.out.println("Inside Circle::draw() method. " );
}
}
Back to top
vahid
بي تو هرگز


Joined: 26 Nov 2004
Posts: 3067
Location: Tehran

PostPosted: Wed Oct 29, 2014 1:29 pm    Post subject: ساخت کارخانه Reply with quote

ساخت کارخانه برای تولید اشیا از کلاس های داده شده در پست قبلی:
public class ShapeFactory{
//use getShape method to get object of type shape
public Shape getShpe(String shapeType)
if(shapeType==null)
return null;
}
if(shapeType.equalsIgnoreCase("CIRCLE)){
return new Circle();
}else if (shapeType.equalsIgnoreCase("RECTANGLE")){
return new Rectangle();{
else if(shapeType.equalsIgnoreCase("SQUARE")){
return new Square();
}
return null;
}
}
Back to top
vahid
بي تو هرگز


Joined: 26 Nov 2004
Posts: 3067
Location: Tehran

PostPosted: Wed Oct 29, 2014 1:32 pm    Post subject: استفاده از Pattern Factor Reply with quote

FactoryPatternDemo.java
public class FactoryPatternDemo{
public static void main(String[] args){
ShapeFactory shapeFactory = new ShapeFactory();
Shape shape1=shapeFactory.getShape("Circle)");

Shape shape2 = shapeFactory.getShape("RECTANGLE);
shape2.draw()'
//be hamin sadegi PARSX.com

منبع : Design Patterns In Java
Back to top
Display posts from previous:   
Post new topic   Reply to topic    ParsX.com Forum Index -> Java All times are GMT + 3.5 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum