真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何繪制平臺(tái)框架的設(shè)計(jì)圖:使用UML工具

專注于為中小企業(yè)提供成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、外貿(mào)網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)白塔免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了1000+企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

前言:

在軟件開(kāi)發(fā)上,寫(xiě)代碼是<實(shí)>,畫(huà)設(shè)計(jì)圖是<虛>。程序員務(wù)實(shí),設(shè)計(jì)員務(wù)虛。由于<干實(shí)事>被推崇,所以大多開(kāi)發(fā)者都務(wù)實(shí)了,不畫(huà)圖做設(shè)計(jì)了。例如,數(shù)十本仿間的中文Android書(shū)籍里,除了我的書(shū)之外,幾乎沒(méi)有UML圖,讓年輕一代逐漸失去圖形思考習(xí)慣,這將損害其創(chuàng)造能力。


高老師陪您成長(zhǎng)...

  如何繪制平臺(tái)框架的設(shè)計(jì)圖:使用UML工具 


EE                                                  EE

相關(guān)文章:

1.如何設(shè)計(jì)平臺(tái)框架的<未來(lái)性>

2.平臺(tái)框架(Framework)開(kāi)發(fā)的雕龍之技6招


如何繪制平臺(tái)框架的設(shè)計(jì)圖:使用UML工具

1.復(fù)習(xí):開(kāi)始使用UML建模工具(如JUDE)

      開(kāi)啟JUDE建模工具:

如何繪制平臺(tái)框架的設(shè)計(jì)圖:使用UML工具

點(diǎn)選,創(chuàng)建新建模項(xiàng)目:

如何繪制平臺(tái)框架的設(shè)計(jì)圖:使用UML工具

建立新的類圖(Class Diagram):

如何繪制平臺(tái)框架的設(shè)計(jì)圖:使用UML工具

類圖繪圖區(qū):

如何繪制平臺(tái)框架的設(shè)計(jì)圖:使用UML工具

拉出一個(gè)類的圖像,并取名為 ”汽車(chē)”:

如何繪制平臺(tái)框架的設(shè)計(jì)圖:使用UML工具

2.  開(kāi)始設(shè)計(jì)框架

框架設(shè)計(jì)練習(xí)口訣:目前先”不”做輪胎

         老子說(shuō):”無(wú)” 之以為用(有之以為利)

         孔子說(shuō):知之為知之,”不”知為不知

最偉大的雕刻師羅丹( Musée Rodin)說(shuō):把”不”必要的部分去掉。

如何繪制平臺(tái)框架的設(shè)計(jì)圖:使用UML工具

~~ 先不做輪胎 ~~

如何繪制平臺(tái)框架的設(shè)計(jì)圖:使用UML工具

相當(dāng)于:

如何繪制平臺(tái)框架的設(shè)計(jì)圖:使用UML工具

[歡迎光臨 高煥堂 網(wǎng)頁(yè):http://www.cnblogs.com/myEIT/ ]

3.  應(yīng)用框架設(shè)計(jì)范例

如何繪制平臺(tái)框架的設(shè)計(jì)圖:使用UML工具

   這個(gè)Calculator類的范例代碼:

//引擎部份

class Calculator {

     public int run() {

   int n;

   n = getN();

   int sum = 0;

    for(int i=0; i<=n; i++) {

                  sum += i;

    }

            return sum;

 }

 private int getN() {   return 10;     }

}

//------------------------------------------

public class JMain {

public static void main(String[] args) {

Calculator cal = new Calculator();

System.out.println(cal.run());

}

}

~~ 先不做輪胎(先不加糖) ~~

~~ 先做輪轂(先準(zhǔn)備砂糖紙包) ~~

如何繪制平臺(tái)框架的設(shè)計(jì)圖:使用UML工具

范例代碼:

// JMain.java

import Engine.Calculator;

public class JMain {

       public static void main(String[] args) {

Calculator cal = new Calculator();

System.out.println(cal.run());

}

}

//引擎部份

package Engine;

import Framework.ICount;

public class Calculator {

         ICount ref;

public int run() {

int n;

   n = getN();

               int sum = 0;

               for(int i=0; i<=n; i++) {

       sum += i;

    }

   return sum;

 }

private int getN() {

         return ref.getCount();

   }

}

//接口部分

package Framework;

public interface ICount {

             int getCount();

}

Java的Interface接口,就相當(dāng)于純粹抽象基類(Pure abstract class)。所以,也能將上述ICount接口定義為基類,如下:

abstract class Count {

   public abstract int getCount();

}

也可以定義為一般抽象基類,如下:

abstract class Count {

      public int getCount() {

             int cc = onCount();

             return cc;

}

        protected int onCount();

}

如何繪制平臺(tái)框架的設(shè)計(jì)圖:使用UML工具

  • 以上是做『分』的動(dòng)作,將輪胎從汽車(chē)上”分” 離開(kāi)來(lái),或是將糖從三合一咖啡里分離開(kāi)來(lái)。

  • 客人來(lái)了,主人詢問(wèn)客人:需要冰糖或砂糖?

  • 依據(jù)客人需求,主人開(kāi)始做『合』的動(dòng)作,將輪胎組”合”裝配到汽車(chē)上,或是將糖加入二合一咖啡,調(diào)”合”成可口的咖啡。

4.開(kāi)始撰寫(xiě)AP子類別

~~ 配上實(shí)作類(Implementation Class):

如何繪制平臺(tái)框架的設(shè)計(jì)圖:使用UML工具

~~ 配上子類(Sub Class):

如何繪制平臺(tái)框架的設(shè)計(jì)圖:使用UML工具

~~創(chuàng)建子類的對(duì)象~~

如何繪制平臺(tái)框架的設(shè)計(jì)圖:使用UML工具

范例代碼:

// JMain.java

import Engine.Calculator;

import Framework.Count;

public class JMain {

     public static void main(String[] args) {

Calculator cal = new Calculator();

Count co = new myCount();

cal.setRef(co);

System.out.println(cal.run());

}

}

//引擎部份

package Engine;

import Framework.Count;

public class Calculator {

private Count ref;

public int run() {

   int n;

   n = getN();

   int sum = 0;

   for(int i=0; i<=n; i++) {     sum += i;     }

   return sum;

 }

 private int getN() {    return ref.getCount();     }

 public void setRef(Count co){   ref = co;  }

}

//框架部份

package Framework;

public abstract class Count {

     public int getCount() {

     int cc = onCount();

     return cc;

}

protected abstract int onCount();

}

//子類部份

import Framework.Count;

public class myCount extends Count{

protected int onCount(){  return 10;  }

}

*** 這有一個(gè)矛盾的地方:

  • 代碼Count co = new myCount(); 意味著myCount類必須先於JMain類。

  • 但是JMain又屬於框架層,顯然應(yīng)該先於myCount類。

*** 如果使用Android的myActivity子類來(lái)替代JMain類,就解決上述的困境了。

如何繪制平臺(tái)框架的設(shè)計(jì)圖:使用UML工具

*** 於是共含有兩層框架:Android大框架和DSF小框架,如下圖:

如何繪制平臺(tái)框架的設(shè)計(jì)圖:使用UML工具

總共含有4大模塊:

  • Android大框架

  • DSF小框架

  • DSE特殊領(lǐng)域引擎

  • AP

范例代碼:

如何繪制平臺(tái)框架的設(shè)計(jì)圖:使用UML工具

//引擎部份

package DS_Engine;

import DS_Framework.Count;

public class Calculator {

      private Count ref;

public int run() {

   int n;

   n = getN();

   int sum = 0;

   for(int i=0; i<=n; i++) {    sum += i;    }

   return sum;

 }

 private int getN() {

     return ref.getCount();

    }

 public void setRef(Count co){

    ref = co;

   }

}

// DSF小框架部份

package DS_Framework;

public abstract class Count {

public int getCount() {

     int cc = onCount();

     return cc;

}

        protected abstract int onCount();

}

// AP部分

// myCount.java

package com.misoo.ppxx;

import DS_Framework.Count;

public class myCount extends Count{

      protected int onCount(){  return 10;  }

}

// myActivity.java

package com.misoo.ppxx;

import DS_Engine.Calculator;

import DS_Framework.Count;

import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.LinearLayout;

public class myActivity extends Activity implements OnClickListener {

         private Button btn, btn2;

   @Override public void onCreate(Bundle savedInstanceState) {

       super.onCreate(savedInstanceState);

       setContentView(R.layout.main);

       LinearLayout layout = new LinearLayout(this);

       layout.setOrientation(LinearLayout.VERTICAL);

       LinearLayout.LayoutParams param =

                new LinearLayout.LayoutParams(100, 55);

       param.leftMargin = 1;  param.topMargin = 3;

       btn = new Button(this);

       btn.setId(101);  btn.setText("Run");

       btn.setOnClickListener(this);   btn.setBackgroundResource(R.drawable.x_jude);

       layout.addView(btn, param);

       btn2 = new Button(this);   btn2.setId(102);

       btn2.setText("Exit");      btn2.setOnClickListener(this);

       btn2.setBackgroundResource(R.drawable.x_sky);

       layout.addView(btn2, param);

       setContentView(layout);

    }

   public void onClick(View v) {

          switch(v.getId()) {

              case 101:

                Calculator cal = new Calculator();

                Count co = new myCount();

                cal.setRef(co);

                int result = cal.run();

                setTitle(String.valueOf(result));

                break;

              case 102:  finish();  break;

      }}

  }

EE                                                                  EE

如何繪制平臺(tái)框架的設(shè)計(jì)圖:使用UML工具


本文名稱:如何繪制平臺(tái)框架的設(shè)計(jì)圖:使用UML工具
鏈接分享:http://weahome.cn/article/jogssj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部