对不起英语。目前我在春天从事社交媒体项目的喜欢和评论功能,我想使用Observer Design Pattern.suppose一个用户喜欢或评论视频然后应该反映在所有用户,如Facebook 。 所以, 如果一个用户喜欢视频,那么我将如何更新所有活跃用户。
答案 0 :(得分:0)
答案 1 :(得分:0)
如果您使用的是Java,则可以使用java.util.Observable和java.util.Observer接口
class User implements Observer {
String name;
public String getName() {return name;}
public void update(Observable obs, Object x) {
if (obs instanceof Video) {
Video v = (Video)obs;
String user = (String)x;
System.out.println("User " + user.getName() + " liked video" + v.getName());
}
}
}
class Video extends Observable {
String name;
public String getName() {return name;}
public Video(String name) {this.name = name; }
public void like(User user) {
// Notify observers of change
setChanged();
notifyObservers(user);
}
}
public static void main(String[] av) {
Video v = new Video("video1");
User user1 = new User();
User user2 = new User();
User user3 = new User();
v.addObserver(user1);
v.addObserver(user2);
v.addObserver(user3);
v.like(user1);
}