一.設(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ù)信息
- git config --global user.name "shw=-sun"
- git config --global user.email "2952842144@qq.com"
注意: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日志