小實(shí)訓(xùn)總結(jié)

一.設(shè)計(jì)模式

設(shè)計(jì)模式的概念:軟件設(shè)計(jì)模式(Software Design Pattern),又稱(chēng)設(shè)計(jì)模式,是一套被反復(fù)使用、多數(shù)人知曉的、經(jīng)過(guò)分類(lèi)編目的、代碼設(shè)計(jì)經(jīng)驗(yàn)的總結(jié)

設(shè)計(jì)模式的優(yōu)點(diǎn):
可以提高程序員的思維能力、編程能力和設(shè)計(jì)能力。
使程序設(shè)計(jì)更加標(biāo)準(zhǔn)化、代碼編制更加工程化,使軟件開(kāi)發(fā)效率大大提高,從而縮短軟件的開(kāi)發(fā)周期。
使設(shè)計(jì)的代碼可重用性高、可讀性強(qiáng)、可靠性高、靈活性好、可維護(hù)性強(qiáng)。

1.雙檢索單例模式

'''private static volatile Singleton instance;

public Singleton() {
}
public static Singleton getInstance() {
    if (instance==null){
        synchronized (Singleton.class){
            if (instance==null){
                instance=new Singleton();
            }
        }
    }
    return instance;
}
public void fun(){

    Log.e("TAG","Singleton");

}'''

2.工廠模式

1.實(shí)現(xiàn)類(lèi)
'''public interface Shape {

void draw();

};'''

2.①正方形Rectangle
'''public class Rectangle implements Shape {

@Override
public void draw() {
    Log.e("TAG","Rectangle");
}

}'''
②Square
public class Square implements Shape {

@Override
public void draw() {
    Log.e("TAG","Square");

}

}'''
③ Circle

public class Circle implements Shape{

@Override
public void draw() {
    Log.e("TAG","Circle");

}

}'''
3.創(chuàng)建一個(gè)工廠 生成基于給定信息的實(shí)體類(lèi)
'''public class ShapeFactory {

public Shape getShape(String shapeType){
    if (shapeType==null){
        return null;
    }
    if (shapeType.equalsIgnoreCase(Contens.CIRCLE)){
        return new Circle();
    }else if (shapeType.equalsIgnoreCase(Contens.RECTANGLE)){
        return new Rectangle();
    }else if (shapeType.equalsIgnoreCase(Contens.SQUARE)){
        return new Square();
    }
    return null;

}

}
4.創(chuàng)建一個(gè)實(shí)現(xiàn)類(lèi) 方便調(diào)用
'''public interface Contens {

String CIRCLE="CIRCLE";
String RECTANGLE ="RECTANGLE";
String SQUARE ="SQUARE";

}
5.通過(guò)工廠獲取實(shí)體類(lèi)對(duì)象
''' Singleton.getInstance().fun();

    //工廠模式
    ShapeFactory factory = new ShapeFactory();

    Shape shape1 = factory.getShape(Contens.CIRCLE);
    shape1.draw();

    Shape shape2 = factory.getShape(Contens.RECTANGLE);
    shape2.draw();

    Shape shape3 = factory.getShape(Contens.SQUARE);
    shape3.draw();
}

3.模板模式

在模板模式(Template Pattern)中,一個(gè)抽象類(lèi)公開(kāi)定義了執(zhí)行它的方法的方式/模板。它的子類(lèi)可以按需要重寫(xiě)方法實(shí)現(xiàn),但調(diào)用將以抽象類(lèi)中定義的方式進(jìn)行。這種類(lèi)型的設(shè)計(jì)模式屬于行為型模式。
①.創(chuàng)建一個(gè)抽象類(lèi)
'''public abstract class Game {

 abstract void initialize();
 abstract void startGamr();
 abstract void endGame();
 //執(zhí)行的一個(gè)模板方式
 public void play(){
     initialize();
     startGamr();
     endGame();
 }

}'
②.創(chuàng)建一個(gè)實(shí)體類(lèi)繼承抽象類(lèi)的Game
'''
public class FootBall extends Game {

@Override
void initialize() {
    Log.e("TAG","FootBall initialize");
}
@Override
void startGamr() {
    Log.e("TAG","FootBall startGamr");
}
@Override
void endGame() {
    Log.e("TAG","FootBall endGame");
}

}

'''
public class CS extends Game {

@Override
void initialize() {
    Log.e("TAG","CS initialize");
}
@Override
void startGamr() {
    Log.e("TAG","CS startGamr");
}
@Override
void endGame() {
    Log.e("TAG","CS endGame");
}

}
④.使用 Game 的模板方法 play() 來(lái)演示游戲的定義方式。
'''

    Game game = new FootBall();
    game.play();
    game=new CS();
    game.play();

git登錄

①git config --global user.name "shw-sun"
②git config --global user.email "2952842144@qq.com"
③git config --list

git命令

1.基本命令

①cd進(jìn)入
②pwd:查看當(dāng)前文件
③mkdir:創(chuàng)建文件

2.初始化git用戶(hù)信息
注意:name和email必須和遠(yuǎn)程的一樣
  • git config user .name
  • git config --list(查看所有配置信息)
3.添加到數(shù)據(jù)庫(kù)
  • git add a.txt將文件添加到暫存區(qū)
  • git status 查看文件狀態(tài)
  • git commit -m "提交說(shuō)明"將文件提交到本地倉(cāng)庫(kù)
4.查看
  • pwd命令是用于顯示當(dāng)前的目錄
  • git diff a.txt兩次內(nèi)容不同
  • git log 查看log日志
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容