Вот думаю: завязать с блогосрачеством и еще с кучей всякой фигни.
Но скосив взгляд чуть вверх, на цифру 1, начинаю сомневаться в успехе. Кому нужна джава? Кому нужен дзен?
Ладно, всем бай! Пошел спать.
среда, 13 апреля 2011 г.
Посредник
import static java.lang.System.out;
import java.util.*;
public class app
{
public static void main(String[] args)
{
out.println("Create ChatRoom");
IChatRoom room=new ChatRoom();
RussianUser ru=new RussianUser("Ivan");
AmericanUser us=new AmericanUser("Jon");
room.register(ru);
room.register(us);
out.println("reg users:");
room.listUsers();
ru.send("Jon","hello, Jon!");
us.send("Ivan","Ok!");
ru.send("Jon","Good by, Jon!");
}
}
interface IChatRoom
{
void send(String from,String to,String message);
void register(User _user);
void listUsers();
}
class ChatRoom implements IChatRoom
{
private Hashtable<String, User> users = new Hashtable<String,User>();
public void send(String from,String to,String message)
{
users.get(to).receive(from,message);
}
public void register(User _user)
{
users.put(_user.getName(),_user); _user.setChat(this);
}
public void listUsers()
{
for(User user:users.values())
{
out.println(user.getName());
}
}
}
class User
{
private IChatRoom chat;
private String name;
public User(String name){this.name=name;}
public void setChat(IChatRoom chat){this.chat=chat;}
public IChatRoom getChat(){return this.chat;}
public String getName(){return this.name;}
public void send(String to, String message)
{ chat.send(name, to, message); }
public void receive(String from, String message)
{ out.printf("\n%1s to %2s: '%3s'\n",from, name, message); }
}
class RussianUser extends User
{
public RussianUser(String name){super(name);}
public void receive(String from, String message)
{ out.println("\nRussian User receive message:");
super.receive(from, message);
}
}
class AmericanUser extends User
{
public AmericanUser(String name){super(name);}
public void receive(String from, String message)
{ out.println("\nAmerican User receive message:");
super.receive(from, message);
}
}
Посредник(mediator) - позволяет централизованно управлять большим количеством похожих классов в системе(коллеги) коллеги не знают о друг друге но знают посредника. Посредник знает об всех коллегах(не обязательно использовать общий интерфейс, т.е. это могут быть совершенно разные объекты! - хотя тут можно подумать).Основная мысль - централизовать управление системой в одном месте.
чтобы не упустить зависимое поведение различных объектов.
воскресенье, 10 апреля 2011 г.
Грязь
Наставник: что дороже: золото или грязь?
Джеки Чан: золото, однако!
Наставник: а если я дам тебе немного зерен?
Джеки Чан: золото, однако!
Наставник: а если я дам тебе немного зерен?
/фильм Шаолинь/
среда, 6 апреля 2011 г.
Легко
Шагай легко шаг за шагом. Будто-бы каждый шаг сам по себе и нет цели. Будто-бы некая сила изнутри ведет неведомым уму путем.
понедельник, 4 апреля 2011 г.
воскресенье, 3 апреля 2011 г.
Подписаться на:
Комментарии (Atom)
