设计模式整理笔记3


import java.util.ArrayList;
import java.util.List;
import java.util.Observable;
import java.util.Observer;


public class Run {


public class UserSys{
public void login(){

}
}
public class TradeSys{
public  void startTrade(){

}
}
public  class PetSys{
public void reset(){

}
}

public class Facade{
public UserSys user;
public TradeSys trade;
public PetSys pet;
public void doLogin(){
user.login();
}
public void doTrade(){
trade.startTrade();
}
public void doReset(){
pet.reset();
}
}

public static void main(String[] args) {
Run run = new Run();

}


}

andorid :在观察者AdapterView AdapterDataSetObserver onChanged 中调用requestLayout 会重新

onMeasure,onLayout,onDraw; onMeasure会执行absListView中会obtainView,而这个函数中就会调用到adapger的getView函数
import java.util.ArrayList;
import java.util.List;
import java.util.Observable;
import java.util.Observer;


public class Run {


public interface Observerable {
public void registerDataSetObserver(Observer server);


public void delete(Observer server);


public void notityObserver();
}


// 前
public class A implements Observerable {
public List<Observer> list = new ArrayList<Observer>();


public void handleRequese() {


}


public void registerDataSetObserver(Observer server) {
// TODO Auto-generated method stub
list.add(server);
}


public void delete(Observer server) {
// TODO Auto-generated method stub
list.remove(server);
}


public void notityObserver() {
// TODO Auto-generated method stub
for (int i = 0; i < list.size(); i++) {
list.get(i).update(null, "Message");
}
}
}


public class B implements Observer {


public void update(Observable arg0, Object arg1) {
// TODO Auto-generated method stub


}


}


public class AdapterDataSetObserver implements Observer {


public void update(Observable arg0, Object arg1) {
// TODO Auto-generated method stub


}


}


public class Adapter {
A a = new A();


public void registerDataSetObserver(AdapterDataSetObserver b) {
// TODO Auto-generated method stub
a.registerDataSetObserver(b);
}


}


public class ListView {
public void setAdapter(Adapter adater) {
AdapterDataSetObserver observer = new AdapterDataSetObserver();
adater.registerDataSetObserver(observer);
}
}


public static void main(String[] args) {
Run run = new Run();
ListView list = run.new ListView();
Adapter a = run.new Adapter();


list.setAdapter(a);
a.notityObserver();
}


}



public class  Run {



//前
public class A{
public void handleRequese(){

}
}

public class B{
public void start(){

}
}

//后

public interface ITaget{
public void handleRequese();
}
public class A1 implements ITaget{
public void handleRequese(){

}
}

public class Adapter extends B implements ITaget{


public void handleRequese() {
// TODO Auto-generated method stub
super.start();
}

}

public static void main(String[] args) {
Run run = new Run();
ITaget taget =run.new Adapter();
taget.handleRequese();
}


}

猜你喜欢

转载自blog.csdn.net/zdy10326621/article/details/79687063