Simple Factory mode Simple example on C #
Namespace Simplefactory
{
public partial class Form1:form
{
private void Button1_Click (object sender, EventArgs e)//user Level
{
Operation operation = Operationfactory.createoperate (this.cbbOperation.SelectedIndex);//Connect to Simple factory fetch algorithm
Operation. Numbera = convert.todouble (This.txtNumberOne.Text);//Assign values to simple factory-derived algorithms
Operation. Numberb = convert.todouble (This.txtNumberTwo.Text);
This.txtResult.Text = Operation.getresult (). ToString ();//Get algorithm results
}
}
Class operationfactory//Simple Factory level
{
public static operation Createoperate (int operate)//factory add and subtract two kinds of
{
Operation oper = null;
Switch (operate)
{
Case 0:
{
Oper = new Operationadd ();//addition
Break
}
Case 1:
{
Oper = new Operationsub ();//Subtraction
Break
}
}
return oper;
}
}
Public abstract class operation//abstract the addition and subtraction algorithm to facilitate uniform assignment of Numbera, Numberb, and calculation results getresult ()
{
Public double Numbera {get; set;}
Public double Numberb {get; set;}
public abstract double GetResult ();
}
Class operationadd:operation//addition algorithm inherits abstract algorithm
{
public override double GetResult ()
{
return Numbera + Numberb;
}
}
Class operationsub:operation//subtraction algorithm inherits abstract algorithm
{
public override double GetResult ()
{
return numbera-numberb;
}
}
}
Simple Factory mode C #