一.设计模式
设计模式的概念:软件设计模式(Software Design Pattern),又称设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结
设计模式的优点:
可以提高程序员的思维能力、编程能力和设计能力。
使程序设计更加标准化、代码编制更加工程化,使软件开发效率大大提高,从而缩短软件的开发周期。
使设计的代码可重用性高、可读性强、可靠性高、灵活性好、可维护性强。
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.实现类
'''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.创建一个工厂 生成基于给定信息的实体类
'''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.创建一个实现类 方便调用
'''public interface Contens {
String CIRCLE="CIRCLE";
String RECTANGLE ="RECTANGLE";
String SQUARE ="SQUARE";
}
5.通过工厂获取实体类对象
''' 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)中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。
①.创建一个抽象类
'''public abstract class Game {
abstract void initialize();
abstract void startGamr();
abstract void endGame();
//执行的一个模板方式
public void play(){
initialize();
startGamr();
endGame();
}
}'
②.创建一个实体类继承抽象类的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() 来演示游戏的定义方式。
'''
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进入
②pwd:查看当前文件
③mkdir:创建文件
2.初始化git用户信息
- git config --global user.name "shw=-sun"
- git config --global user.email "2952842144@qq.com"
注意:name和email必须和远程的一样
- git config user .name
- git config --list(查看所有配置信息)
3.添加到数据库
- git add a.txt将文件添加到暂存区
- git status 查看文件状态
- git commit -m "提交说明"将文件提交到本地仓库
4.查看
- pwd命令是用于显示当前的目录
- git diff a.txt两次内容不同
- git log 查看log日志