sdlab.pdf

Embed Size (px)

Citation preview

  • 7/23/2019 sdlab.pdf

    1/29

    1.Expert PatternPattern Instance:

    Class Diagram

    Implementation:ProductDescription.javaimport java.util.Scanner;public class ProductDescription {

    public SaleCounter saleCounter;private SaleCounter sc;

    private foat price ;public foat getPrice() {

    Scanner sr = new Scanner(Sstem.in);Sstem.out.println(!"nter t#e price!);price = sr.ne$t%loat();return price;

    &&

  • 7/23/2019 sdlab.pdf

    2/29

    Sale.javapublic class Sale {

    private foat total;public foat get'otal() {

    ProductDescription pd = new ProductDescription();Saleinetem sli = new Saleinetem();

    total = pd.getPrice()*sli.get+uantit();return total;

    &&SaleLineItem.javaimport java.util.Scanner;public class Saleinetem {

    public SaleCounter saleCounter;private SaleCounter sc;private int ,uantit;public int get+uantit() {

    Scanner sr = new Scanner(Sstem.in);

    Sstem.out.println(!"nter t#e ,uantit!);,uantit = sr.ne$tnt();return ,uantit;

    &&SaleCounter.javapublic class SaleCounter {

    public Saleinetem saleinetem;private ProductDescription pd;private Sale s;private Saleinetem sli;public static void main(String- args) {// '0D0 1uto2generated met#od

    stubfoat total;Sale s = new Sale();total = s.get'otal();Sstem.out.println(!'otal is!3total);

    &&OUPU:Enter the price100Enter the quantity25

    Total is2500.0

    !.Controller PatternPattern Instance

  • 7/23/2019 sdlab.pdf

    3/29

    Class Diagram

    Implementation:Client.javaimport java.util.Scanner;public class Client {

    public '#eController t#eController;public static SaleController getController() {

    SaleController sc = new SaleController();

    Sale s =new Sale();4iew v = new 4iew();sc.setSale(s);sc.set4iew(v);return sc;

    &public static void main(String- args) {// '0D0 1uto2generated met#od

    stubSaleController sc = getController();

  • 7/23/2019 sdlab.pdf

    4/29

    Scanner sr = new Scanner(Sstem.in);Sstem.out.println(!"nter +uantit!);int ,uantit = sr.ne$tnt();Sstem.out.println(!"nter price!);foat price = sr.ne$t%loat();sc.e$ecute(,uantit5 price);

    &&Sale.javapublic class Sale {

    public SaleController saleController;public foat get'otal(int ,uantit5foat price) {// '0D0 1uto2generated

    met#od stubreturn ,uantit*price;

    &&SaleController.javapublic class SaleController {

    public Client client;public void e$ecute(int ,uantit5foat price) {// '0D0 1uto2generated

    met#od stubfoat result= sale.get'otal(,uantit5 price);view.displa(result);

    &&"ie#.javapublic class 4iew {

    public void displa(foat total) {// '0D0 1uto2generated met#od stubSstem.out.println(!'#e total sale!3total);

    &&06'P6'Enter Quantity10Enter price25.2The total sale252.0

    $.Pu%lis&er'Su%scri%er PatternPattern Instance

  • 7/23/2019 sdlab.pdf

    5/29

    Class Diagram

    Implementation:Indicator.java:import java.util.0bservable;import java.util.0bserver;public class ndicator implements 0bserver {

    public void displa() {Sstem.out.println(!ndicator Data!);foat 7=(t#is.temperature) 2 (788);

    foat 9=(788) 2 (t#is.temperature);i:(t#is.temperature 788)

    Sstem.out.println(!'emperature is 0< >!37);else

    Sstem.out.println(!'emperature is 0< >!39);7=(t#is.pressure) 2 (?8);9=(?8) 2 (t#is.pressure);i:(t#is.pressure ?8)

  • 7/23/2019 sdlab.pdf

    6/29

    Sstem.out.println(!Pressure is 0< >!37);else

    Sstem.out.println(!Pressure is 0< >!39);Sstem.out.println(!@n!);

    &public ndicator(0bservable observable) {// '0D0 1uto2generated

    constructor stubt#is.observable=observable;observable.add0bserver(t#is);

    &public void update(0bservable o5 0bject arg) {

    %urnaceData :urnaceData=(%urnaceData)o;t#is.pressure=:urnaceData.getPressure();t#is.temperature=:urnaceData.get'emperature();displa();

    &&(urnaceStation.java

    publicclassFurnaceStation {publicstaticvoidmain(String[ args! {

    "" TODO#uto$generate% metho% stu&Furnace'ata %)newFurnace'ata(!*+eating,ontroll hc)new+eating,ontroll(%!*-n%icator i%)new-n%icator(%!*og'ata l%)newog'ata(%!*%.set/easurements(100.3!*%.set/easurements(010.3!*4

    4

    LogData.javaimport java.util.0bservable;

    import java.util.0bserver;public class ogData implements 0bserver {

    private foat temperature;public 0bject observable;

    public void displa() {// '0D0 1uto2generated met#od stubSstem.out.println(!@nog Data!);Sstem.out.println(!Current 'emperature is >!3temperature);Sstem.out.println(!Current Pressure is >!3pressure);Sstem.out.println(!@n!);

    &public ogData(0bservable observable) {// '0D0 1uto2generated

    constructor stub

    t#is.observable=observable;observable.add0bserver(t#is);

    &public void update(0bservable o5 0bject arg) {

    %urnaceData :urnaceData=(%urnaceData)o;t#is.pressure=:urnaceData.getPressure();t#is.temperature=:urnaceData.get'emperature();displa();

  • 7/23/2019 sdlab.pdf

    7/29

    &&(urnaceData.javaimport java.util.0bservable;

    public void setAeasurements(foat temp5foat p) {t#is.temperature = temp;

    t#is.pressure=p;t#is.measurementC#anged();

    &public void measurementC#anged() {// '0D0 1uto2generated met#od

    stubt#is.setC#anged();t#is.noti:0bservers();

    &&)eatingControl.javaimport java.util.0bservable;import java.util.0bserver;

    public class BeatingControll implements 0bserver {public void displa() {

    Sstem.out.println(!@nBeating Controll Data!);i:(t#is.temperature 788)

    Sstem.out.println(!'emperature is more t#an 788!);else

    Sstem.out.println(!'emperature is less t#an 788!);i:(t#is.pressure ?8)

    Sstem.out.println(!Pressure is more t#an ?8!);else

    Sstem.out.println(!Pressure is less t#an ?8!);&public BeatingControll(0bservable observable) {

    t#is.observable=observable;observable.add0bserver(t#is);&

    public void update(0bservable o5 0bject arg) {%urnaceData :urnaceData=(%urnaceData)o;t#is.pressure=:urnaceData.getPressure();t#is.temperature=:urnaceData.get'emperature();displa();

    &&OUPU

    Log Data

    ,urrent Temperature is 10.0,urrent 6ressure is 0.3Indicator Data

    Temperature is 7 8y 0.06ressure is 7 8y 9.:Heating Controll Data

    Temperature is more than 100

  • 7/23/2019 sdlab.pdf

    8/29

    6ressure is less than ;0Log Data

    ,urrent Temperature is 0.0,urrent 6ressure is 10.3Indicator Data

    Temperature is 7 8y 20.06ressure is 7 8y :0.99993Heating Controll Data

    Temperature is less than 1006ressure is more than ;0

    *.Command Processor PatternPattern Instance

    Class Diagram

  • 7/23/2019 sdlab.pdf

    9/29

    ImplementationPerson.java

    publicclass6erson {publicvoidintE%itor a?eceitE%itor(!* 8ol% a,oncrete,omman% ) new8ol%(a?ecei

  • 7/23/2019 sdlab.pdf

    10/29

    4elseif(arg[i.equals(Cun%oC!!{

    i%.@n%o,lic=e%(!*4else

    {System.out.println(C-n6ppercase!);&public void undo(){

    Sstem.out.println(!'e$t Command>6ndo!);

    &&

    +.(or#ard',eceiverPattern Instance

  • 7/23/2019 sdlab.pdf

    11/29

    Class Diagram

    Implementationmainclass.javaimportDa

  • 7/23/2019 sdlab.pdf

    12/29

    p1.ser

  • 7/23/2019 sdlab.pdf

    13/29

    Class Diagram

    Implementation

    Client.java

    publicclass,lient {publicSer

  • 7/23/2019 sdlab.pdf

    14/29

    catch(E>ception e>!{

    System.out.println(CSer

  • 7/23/2019 sdlab.pdf

    15/29

    ""System.out.println(CSert-nt(!L(publicclass,'S e&tends6rintSer

  • 7/23/2019 sdlab.pdf

    16/29

    Class Diagram

    Implementation/pplication.java

    publicclass#pplication { private6ro>yEmailSeryemailser

  • 7/23/2019 sdlab.pdf

    17/29

    Pro&$'mail%ervice.java

    publicclass6ro>yEmailSertCBte>t!*

    4publicvoidrec{ System.out.println(C?ecei4

    0.(acadePattern Instance

    Class Diagram

  • 7/23/2019 sdlab.pdf

    18/29

    Implementation/mplier.java

    publicclass#mpliier {privateString %escription*

    private'

  • 7/23/2019 sdlab.pdf

    19/29

    this.ampliier)ampliier*4

    publicvoidon(! {"" TODO#uto$generate% metho% stu&System.out.println(%escriptionBC7nC!*

    4publicvoido(! {"" TODO#uto$generate% metho% stu&

    System.out.println(%escriptionBC7FFC!*4

    publicvoidplay(String mo

  • 7/23/2019 sdlab.pdf

    20/29

    hts.En%/o

  • 7/23/2019 sdlab.pdf

    21/29

    ImplementationIs&ape.java

    publicinterface-shape {publicvoidarea(!* ""co%e%publicvoidname(!* ""co%e%

    4

    mainclass.javaimportDat'ou&le(!!*System.out.println(CEnter the &ase P heightC!*double&)s.ne>t'ou&le(!*doubleh)s.ne>t'ou&le(!*t.setsiGe(& h!*c.name(!*c.area(!*t.name(!*

    t.area(!*4

    4

    Circle.java

    publicclass,ircle implements-shape {private'ou&le 6i).132* ""co%e%private'ou&le #rea*private'ou&le ?a%ius*publicvoidname(! {"" un co%e%

  • 7/23/2019 sdlab.pdf

    22/29

    System.out.println(CThe Shape -s ,ircleC!*4

    publicvoidarea(! {"" un co%e%doublearea)6iI ?a%iusI ?a%ius*System.out.println(C#rea 7 ,ircle CBareaBC sq.unitsC!*

    44

    riangle.javapublicclassTriangle implements-shape {

    private'ou&le 8ase*private'ou&le +eight*private'ou&le #rea*publicvoidsetsiGe('ou&le &'ou&le h! {"" un co%e%

    this.8ase)&*this.+eight)h*

    4

    publicvoidname(! {"" un co%e%System.out.println(CThe Shape -s TriangleC!*

    4

    publicvoidarea(! {"" co%e%doublearea)(8aseI +eight!"2**

    System.out.println(C#rea 7 Triangle CBareaBC sq.unitsC!*4

    4

    13.Composite Pattern4#&ole part5Pattern Instance

    Class Diagram

  • 7/23/2019 sdlab.pdf

    23/29

    Implementation/pplication.java

    importDat-nt(!*for(inti)0*iAn*iBB!{System.out.println(CEnter name o ,ol%'rin= P priceC!*c%)s.ne>t(!*price)s.ne>t'ou&le(!*items.a%%(new,ol%'rin=(c%C,ol% 'rin=Cprice!!*4,ol%'rin=Family6ac= amilypac=)new,ol%'rin=Family6ac=(items!*"" items.a%%(ne ,ol%'rin=(C,o=eCC,ol% 'rin=C20!!*

    "" items.a%%(ne ,ol%'rin=(C/aGaCC,ol% 'rin=C15!!*ist item2)new#rrayist(!*"I item2.a%%(ne ,ol%'rin=(C,o=eCC,ol% 'rin=C20!!*

    item2.a%%(ne ,ol%'rin=(C/aGaCC,ol% 'rin=C15!!*item2.a%%(ne ,ol%'rin=(C6epsiCC,ol% 'rin=C10!!*item2.a%%(ne ,ol%'rin=(C,o=eCC,ol% 'rin=C20!!*item2.a%%(ne ,ol%'rin=(C/aGaCC,ol% 'rin=C15!!*

    I"System.out.println(CEnter num&er o 6arty 6ac=sC!*n)s.ne>t-nt(!*

  • 7/23/2019 sdlab.pdf

    24/29

    for(inti)0*iAn*iBB!{System.out.println(CEnter name o ,ol%'rin= P priceC!*c%)s.ne>t(!*price)s.ne>t'ou&le(!*item2.a%%(new,ol%'rin=(c%C,ol% 'rin=Cprice!!*4,ol%'rin=6arty6ac= partypac=)new,ol%'rin=6arty6ac=(items!*System.out.println(C'iscount or ,ol% 'rin= Family 6ac=C!*System.out.println(amilypac=.get6rice(!!*System.out.println(C'iscount or ,ol% 'rin= 6arty 6ac=C!*System.out.println(partypac=.get6rice(!!*

    44

    ColdDrin6(amilPac6.javaimportDa

  • 7/23/2019 sdlab.pdf

    25/29

    public void add(tem itm) {// '0D0 1uto2generated met#od stubitems.add(itm);

    &public void addtems(ist list) {// '0D0 1uto2generated met#od stub

    items.add1ll(list);&

    public double getPrice() {// '0D0 1uto2generated met#od stubdouble sum=8;

    :or(tem i>items){

    sum3=i.getPrice();&

    return sum;&public snc#roniFed void addC#ild(tem aGcomponent) {

    snc#roniFed (aGcomponent) {mGc#ildren.add(aGcomponent);aGcomponent.setParent(t#is);

    &&public snc#roniFed void removeC#ild(tem aGcomponent) {

    snc#roniFed (aGcomponent) {i: (t#is == aGcomponent.getParent()) {

    aGcomponent.setParent(null);&mGc#ildren.remove(aGcomponent);

    &

    &&Item.java

    publicabstractclass-tem {publicabstractvoid7peration(!*publicabstractdoubleget6rice(!*publicvoidsetQuantity(! {"" TODO#uto$generate% metho% stu&4

    private-tem mparent*public-tem get6arent(! {

    returnmparent*4

    publicvoidset6arent(-tem aparent! {mparent) aparent*

    4

    publicabstract,omposite get,omposite(!*4

    ((.)aster#%lava

    Pattern Instance

  • 7/23/2019 sdlab.pdf

    26/29

    Class Diagram

    Implementation

    main)aster.java

    publicclassmain/aster {publicstaticvoidmain(String[ args! {

    /aster master )new/aster(!*master.run(!*

    44

    )aster.java

    publicclass/aster {

    private?esource resource*private?esource res)new?esource(!*privateintsla

  • 7/23/2019 sdlab.pdf

    27/29

    for(inti)0*iAsla

  • 7/23/2019 sdlab.pdf

    28/29

    {%one)true*

    4

    publicSlaception e!{

    44

    44

    Test)aster.java

    pu&lic class Test/aster {pri

  • 7/23/2019 sdlab.pdf

    29/29