ÇÅÁºÄ£Ê½µÄÓÃÒÔÊǽ«ÎÊÌâµÄ³éÏóºÍÏÖʵ·ÖÀ뿪À´ÊµÏÖ£¬Í¨¹ýÓþۺϴúÌæ¼Ì³ÐÀ´½â¾ö×ÓÀ౬ըÐÔÔö³¤µÄÎÊÌ⣬±ÈÈçÎÒÃÇÓÐÒ»¸ö»Í¼³ÌÐòÓÐ2¸öͼÐΣ¨Circle Rectangle£©ºÍ2Öֻͼ·½·¨£¨Drawing1 Drawing2£©Í¼ÐοÉÄÜ»áʹÓÃDawing1À´»Í¼£¬Ò²¿ÉÄÜʹÓÃDawing2À´»Í¼£¬ÔÚÕâ¸ö»Í¼³ÌÐòÖÐÓÐÁ½¸ö¿É±äÒòËØ£¬Ò»ÊÇͼÐεÄÖÖÀàÓпÉÄÜ»áÔö¼ÓеÄͼÐΣ¬ÁíÒ»¸öÊǻͼ·½·¨ÓпÉÄÜ»áÓÐDrawing3³öÏÖ£¬µ±ÏµÍ³ÓÐÁ½¸ö¿É±äÒòËØÊÇÎÒÃǾÍÓ¦¸Ã¿¼Âǵ½ÇÅÁºÄ£Ê½£¬ÖÁÉÙËûÓ¦¸ÃÔÚÄãÄÔº£ÀïÉÁ¹ý¡£
ÔÚÃæÐͶÔÏóÉè¼ÆÖÐÓÐÁ½ÌõÖØÒªÔÔò£º
1.ÕÒ³ö±ä»¯²¢·â×°Ö®
2.ÓÅÏÈʹÓþۺ϶ø²¢²»ÊǼ̳Ð
ÕâÁ½Ìõ½«ÔÚÇÅÁºÄ£Ê½Öеõ½ÍêÃÀÌåÏÖ£¬ÔÚÉÏÀýÖÐͼÐÎÊÇÒ»¸ö±ä»¯ÎÒÃÇ¿ÉÒÔ³éÏó³öÒ»¸öÐÎ×´½è¿ÚºÍһЩÐÎ×´Àà¡£
Java´úÂ룺
interface Shope{
void doDraw();
}
class Circle implements Shape{};
class Rectangle implements Shape{}
»Í¼·½·¨Ò²¿ÉÒÔ³éÏó³öÒ»¸öDrawing½è¿ÚºÍ¸÷ÖÖ·½·¨
Java´úÂ룺
interface Drawing{
void draw();
}
class Drawing1 implements Drawing{}
class Drawing2 implements Drawing{}
×îºó½«Á½¸ö±ä»¯ÁªÏµÆðÀ´
ÔÚÎÊÌâÓòÖÐÊÇͼÐÎʹÓûͼ·½·¨£¬ËùÒÔÓ¦¸ÃÔÚShapeÖÐʹÓÃDrawing£¬ÎÒÃÇ¿ÉÒÔͨ¹ýÔÚ¾ßÌåµÄͼÐÎÖÐͨ¹ý¹¹Ô캯Êý´«Èë¾ßÌåµÄ»Í¼·½·¨À´ÊµÏÖÈçÏÂ
Java´úÂ룺
class Circle implements Shape{
private Drawing drawing;
private Circle(Drawing drawing){
this.drawing = drawing;
}
public void doDraw(){
drawing.draw();
}
class Client(){
public static void main(String[] args){
Shape cirde = new Circle(new Drawing2());
circle.draw();
}
}
×ÐϸÌå»áÁËÒ»ÏÂÇÅÁºÄ£Ê½£¬¸Ð¾õ·²ÊÇ¡°µ÷ÓúÍʵÏÖ¡±Ö®¼äµÄÎÊÌⶼ¿ÉÒÔÓÃÇÅÁºÄ£Ê½½â¾ö£¬±ÈÈç˵Dao²ã¸øService²ãÖ®¼äµÄµ÷Óã¬Service×÷Ϊµ÷Ó÷½daoΪʵÏÖ·½Ö»²»¹ýService²ãÖ»ÓÐÒ»ÖÖʵÏÖ°ÕÁË£¬¿ÉÒÔ¿´×÷ÊÇÒ»ÖÖ¼ò»¯Á˵ÄÇÅÁºÄ£ÐÍ£¬dao¿ÉÄÜÓÐ HibernateDao ¡¢JdbcDao
Java´úÂëÈçÏ£º
interface Dap{
List findAll();
}
class HibernateUserDao implements Dao{}
class JdbcUserDao implements Dao{}
interface UserService{
List findAllUser();
}
class UserServiceImpl implements UserService(Dao dao){
private Dao dao;
public UserService Impl(Dao dao){
this.dao = dao;
}
public List findAllUser(){
dao.findAll();
}
Õâ¸ö´úÂëÊDz»ÊǸøÉÏÃæµÄ»Í¼³ÌÐòºÜÀàËÆÄØ£¬²»Í¬Ö¸³ö¾ÍÊÇService²ãÖ»ÓÐÒ»¸öʵÏÖUserServiceImpl£¬ËùÒÔ˵ÊÇÕâÊÇÒ»ÖÖ¼ò»¯µÄÇÅÁº