模板方法模式
利用创建抽象类,比如Android中的BaseActivity,可以将initView(),initData()放在onCreate()中;
BaseActivity;
public abstract class BaseMvpActivity extends AppCompatActivity {
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView();
initView();
initData();
}
protected abstract void initData();
protected abstract void initView();
protected abstract void setContentView();
}
使用,继承自BaseActivity,实现相应抽象方法。
状态模式
就是用不同多态代替if-else判断
工人心情
public interface State {
void doWork();
}
公司,具有找人,干活功能
public class Company {
private State state;
public void doWork() {
state.doWork();
}
public void setWorker(State state) {
this.state = state;
}
}
工人1不加班
```java
public class Worker implements State {
@Override
public void doWork() {
System.out.println("辞职了干不了..");
}
}
工人2加班
public class Worker2 implements State {
@Override
public void doWork() {
System.out.println("包饭就干..");
}
}
public class MyClass {
public static void main(String[] args) {
Company company = new Company();
Worker worker = new Worker();
company.setWorker(worker);
company.doWork();
}
}

本文探讨了设计模式中的模板方法模式和状态模式。通过BaseActivity示例展示了模板方法模式如何简化子类实现,避免代码重复。同时,通过具体场景说明了状态模式如何替代复杂的if-else判断,提高代码可读性和维护性。
(模板方法模式,状态模式)&spm=1001.2101.3001.5002&articleId=89404254&d=1&t=3&u=aa2d2b644b434c059fc393fd4937826a)
5866

被折叠的 条评论
为什么被折叠?



