Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
ÁìÓòÇý¶¯Éè¼Æ£¨DDD£©Ç°Ò¹£ºÃæÏò¶ÔÏó˼Ïë
 
 
  1768  次浏览      27
 2021-1-11 
 
±à¼­ÍƼö:
±¾ÎÄÖ÷Òª½éÉÜÁËÃæÏò¶ÔÏóµÄÊôÐԺͲÙ×÷¡¢¶ÔÏó½¨Ä£¡¢Account CreditÒÔ¼°×éºÏÓë¾ÛºÏµÈÏà¹ØÄÚÈÝ¡£
±¾ÎÄÀ´×ÔÓÚ΢ÐŹ«Öںţº²»¹»¾ßÌ壬ÓÉ»ðÁú¹ûÈí¼þAnna±à¼­¡¢ÍƼö¡£

ÃæÏò¶ÔÏó

ÃæÏò¶ÔÏóÊÇÒ»ÖÖ¶ÔÊÀ½çÀí½âºÍ³éÏóµÄ·½·¨¡£ÄÇô¶ÔÏóÊÇÊ²Ã´ÄØ£¿

¶ÔÏóÊǶÔÊÀ½çµÄÀí½âºÍ³éÏó£¬ÊÀ½çÓÖ´ú³ÆÎªÍòÎï¡£Àí½âÊÀ½çÊDZȽϸ´Ôӵ쬵«ÊÇÊÀ½çÓÖÊÇÓÉÊÂÎï×é³ÉµÄ¡£

ÕýÊÇÕâÑùµÄÒ»ÖÖ¹ØÏµ£¬ÈÏʶÊÂÎïÊǼ«ÆäÖØÒªµÄ¡£ÄÇʲôÊÇÊÂÎïÄØ£¿

ÊÂÎÓÉʺÍÎïÁ½¸ö·½Ãæ×é³É¡£Ê¼´ÊÂÇ飬Îï¼´ÎïÌ壬ÄÇʲôÊÇÊÂÇ飿ʲôÊÇÎïÌåÄØ£¿

ÒâÖ¾µÄÐÐΪÊÇΪÊ¡£

´æÔÚµÄÒ»ÇÐÊÇΪÎÎïÌåÓÖÊÇÓÉÊôÐÔºÍÐÐΪ×é³ÉµÄ¡£

ÓÉÓÚ¶ÔÏóÊǶÔÊÂÎïµÄÀí½âºÍ³éÏó£¬ËùÒÔ¶ÔÏó¾ÍÊǶÔÒ»¸öÊÂÎïµÄÊôÐÔºÍÐÐΪµÄÀí½âºÍ³éÏó¡£ÕýÊÇÕâÑùµÄÒ»ÖÖ¹ØÏµ£¬ÃæÏò¶ÔÏó¾ÍÊǶÔÒ»¸öÊÂÎïµÄÊôÐÔºÍÐÐΪµÄÀí½âºÍ³éÏóµÄ·½·¨¡£

Àí½â¶ÔÏóÒÔ¼°³éÏó¡°¶ÔÏó¡±¾ÍÊÇÔÚÀí½âºÍ³éÏóÊÂÎïµÄÊôÐÔºÍÐÐΪ¡£

ÊôÐԺͲÙ×÷

ÃæÏò¶ÔÏóµÄºËÐÄÊǶÔÏ󣬶ÔÏóÊÇÓÉÊôÐԺͷ½·¨×éºÏ¶ø³ÉµÄ¡£ÔÚʹÓÃÃæÏò¶ÔÏó½øÐзÖÎö¡¢Éè¼Æ¡¢±àÂëµÄʱºò£¬ÄãÊ×ÏÈÓ¦¸ÃÏëµ½µÄÊÇÊôÐԺͷ½·¨×éºÏÐγɵĶÔÏó¡£ÔÚÐèÒª×éºÏµÄʱºò¾Í²»Ó¦¸Ã³öÏÖÖ»°üº¬ÊôÐԵĶÔÏó»òÕßÖ»°üº¬·½·¨µÄ¶ÔÏó¡£

ºÎʱÐèÒªÊôÐԺͷ½·¨×éºÏµÄ¶ÔÏóÄØ£¿

ºÎʱֻÐèÒª°üº¬ÊôÐԵĶÔÏóÄØ£¿

ºÎʱֻÐèÒª°üº¬·½·¨µÄ¶ÔÏóÄØ£¿

ÊÂÎïÓÉÊÂÇéºÍÎïÌå×é³É¡£ÊÂÇéÊÇÐÐΪ£¬ÎïÌåÊÇÊôÐÔ¡£

µ±ÄãÐèÒª³éÏóÒ»¸öÊÂÎïµÄÊÂÇéºÍÎïÌåʱ¾ÍÐèÒªÊôÐԺͷ½·¨µÄ×éºÏ¡£

µ±ÄãÖ»ÐèÒª³éÏóÒ»¸öÊÂÎïµÄÎïÌåʱ¾ÍÖ»ÐèÒªÊôÐÔ¡£

µ±ÄãÖ»ÐèÒª³éÏóÒ»¸öÊÂÎïµÄÊÂÇéʱ¾ÍÖ»ÐèÒª·½·¨¡£

¶ÔÏó½¨Ä£

ÔÚÊý¾Ý¿âϵͳÖУ¬ËüÃǹØÐĵÄÊÇÊÂÎïÖеÄÎïÌ壬ËùÒÔÔÚ³éÏóÊÂÎïʱËüÃÇÖ»³éÏóÁËÊÂÎïÖеÄÊôÐÔ¡£ÔÚÓ¦ÓÃϵͳÖУ¬ËüÃǹØÐĵÄÊDZí´ïÊÂÎïµÄÈýÖÖ·½Ê½£¨ÊôÐԺͷ½·¨µÄ×éºÏ¡¢Ö»°üº¬ÊôÐÔ¡¢Ö»°üº¬·½·¨£©£¬ËùÒÔÔÚ³éÏóÊÂÎïʱÐèҪ˼¿¼ÄãÐèÒªÄÇÖÖ·½Ê½¡£

Ö»ÒªÐèÒª³éÏóÊÂÎÊÂÇéºÍÎïÌ壩ÖеÄÊôÐÔ£¬Ò²¾ÍÊÇÎïÌåµÄÕⲿ·Ö£¬ÄÇÓпÉÄÜÊÇÐèÒª³Ö¾Ã»¯µÄ¡£Ö»ÒªÐèÒª³Ö¾Ã»¯£¬Í¨³£ÊDZ£´æµ½¹ØÏµÐÍÊý¾Ý¿âÖУ¬ÔÚ¹ØÏµÐÍÊý¾Ý¿âÖÐµÄ±í£¨Table£©»ù±¾ÉÏÊÇÓëÃæÏò¶ÔÏóÖеĶÔÏó£¨Object£©µÄÊôÐÔÊÇÒ»Ò»¶ÔÓ¦µÄ¡£

ÓÉÓÚÊý¾Ý¿âÖеıíÖ»³éÏóÁËÊÂÎïÖеÄÊôÐÔ£¬ËùÒÔËüÓпÉÄÜÊDz»ÍêÕûµÄ¡£¾Í³éÏóÊÂÎïµÄÊôÐÔÀ´ËµÒÀÈ»ÓÐÁ½ÖÖ£ºÖ»³éÏóÊÂÎïµÄÊôÐÔ¡¢³éÏóÊÂÎïµÄÊôÐԺͷ½·¨µÄ×éºÏ¡£

ÕýÊÇÊý¾Ý¿âÖбíµÄÕâÖÖ³éÏóÐγÉÁËÊý¾ÝÄ£ÐÍ£¬Ëü¶Ô±È¶ÔÏóÄ£ÐÍÊDz»ÍêÕû£¬ËùÒÔÔÚÃæÏò¶ÔÏó·ÖÎö£¨OOA£©Ê±Ò»¶¨Òª²ÉÓöÔÏó£¨ÊÂÎ³éÏó¶ø²»ÊÇÊý¾Ý£¨ÊôÐÔ¡¢ÎïÌ壩³éÏó¡£

¾Ù¸öÀý×Ó£º

¼òµ¥½ðÈÚÕË»§£¨Account£©

ÊôÐÔÓУºÕ˺ţ¨id£©¡¢Óà¶î£¨balance£©¡¢×´Ì¬£¨status£©

²Ù×÷ÓУº¿ª»§£¨open£©¡¢×¢Ïú£¨close£©¡¢´æÇ®£¨credit£©¡¢È¡Ç®£¨debit£©¡£

Êý¾ÝÄ£Ð͵ÄÖ»ÐèÒªÉè¼Æ×ֶΣ¨fields£©ºÍ¹ØÁª¹ØÏµ£¬ËùÒÔÏÂÃæµÄ SQL »ù±¾ÒÑÍê³É¡£

create table account
(
id integer,
balance integer,
status integer
);

Èç¹û°ÑÉÏÊö SQL ת»»³É Java µÄ¶ÔÏóµÄ»°£¬µÃµ½½«ÊÇÒ»¸öÓÃÃæÏò¶ÔÏóÉè¼ÆµÄÊý¾ÝÄ£ÐÍ£¬¶ø²»ÊÇÍêÕûµÄ¶ÔÏóÄ£ÐÍ¡£ÕâÖÖÄ£ÐÍÔÚ Java ¿ª·¢Öзdz£ÆÕ±é£¬ÕâÊÇÊý¾ÝÄ£ÐÍ˼άËùµ¼ÖµĽá¹û¡£

@Getter
@Setter
public class Account {
private int id;
private int balance;
private AccountStatus status;
}

Èç¹ûʹÓöÔÏóÄ£Ð͵Ä˼άÀ´Éè¼ÆÄ£ÐÍ£¬´Ó½Ó¿ÚÉÏÀ´¿´£¬ËûÓ¦¸ÃÊÇÕâÑùµÄ£º

public interface Account {
int getId();
int getBalance();
AccountStatus getStatus();
void open();
void close();
void credit(int amount);
void debit(int amount);
}

Èç¹û Account ½Ó¿Ú·ûºÏ½ðÈÚÕË»§µÄÉè¼Æ£¬ÄÇô Account ×î¼òµ¥µØÊµÏÖÓ¦¸ÃÈçÏ£º

@Getter
public class Account {
private int id;
private int balance;
private AccountStatus status;
public void open() {
this.status = AccountStatus.OPENED;
}
public void close() {
this.status = AccountStatus.CLOSED;
}
public void credit(int amount) {
this.balance += amount;
}
public void debit(int amount) {
this.balance -= amount;
}
}

ÕâÊÇ´ÓÁ½¸ö½¨Ä£µÄ½Ç¶ÈÀ´¶Ô±È¶ÔÏóÄ£ÐͺÍÊý¾ÝÄ£Ð͵IJ»Í¬£¬ÏÂÃæÎÒÃÇ»¹Òª´ÓÍêÕûµØÖ´ÐÐÁ÷³ÌÀ´¶Ô±È¡£

Account Credit

Ê×ÏÈÊÇʹÓÃÊý¾ÝÄ£ÐÍËùÉè¼ÆµÄʱÐòͼ£¬ÒòΪÊý¾ÝÄ£ÐÍÏ嵀 Account ²»°üº¬ÒµÎñÂß¼­£¬ËùÓеÄÒµÎñÂß¼­¶¼ÔÚ AccountService ÖУ¬ËùÒÔͨ³£³ÆÎªÒµÎñÂß¼­·þÎñ£¨²ã£©»òÕßÊÂÎñ½Å±¾¡£ÈçͼÏ£º

ʹÓà Java ´úÂëµÄʵÏÖ£º

public class AccountService {
private final AccountRepository accountRepository;
public AccountService(AccountRepository accountRepository) {
this.accountRepository = accountRepository;
}
public Account creditAccount(int accountId, int amount) {
var account = this.accountRepository.findById(accountId)
.orElseThrow(() -> new AccountException("The Account was not found"));
if (AccountStatus.OPENED != account.getStatus()) {
throw new AccountException("The Account is not open");
}
account.setBalance(account.getBalance() + amount);
return this.accountRepository.save(account);
}
}

ÏÖÔÚÎÒÃÇҪʹÓöÔÏóÄ£Ð͵Ä˼ά½øÐÐÉè¼ÆÊ±Ðòͼ

ʹÓà Java ´úÂëµÄʵÏÖ£º

public class AccountService {
private final AccountRepository accountRepository;
public AccountService(AccountRepository accountRepository) {
this.accountRepository = accountRepository;
}
public Account creditAccount(int accountId, int amount) {
var account = this.accountRepository.findById(accountId)
.orElseThrow(() -> new AccountException("The Account was not found"));
account.debit(amount);
return this.accountRepository.save(account);
}
}

ÔÚ AccountService µÄ creditAccount ·½·¨ÖÐÒѾ­Ã»ÓÐÁËÒµÎñ´úÂ룬¸ü¶àµØÊÇЭµ÷µ÷ÓÃÖ´ÐÐÁ÷³Ì¡£¶ÔÓÚÕâÖÖÖ»ÓÃÀ´ÊµÏÖÖ´ÐÐÁ÷³Ì£¬²»ÔÚ°üº¬ÒµÎñÂß¼­µÄ·þÎñ¶ÔÏ󣬽«ËüÃdzÆÎªÓ¦Ó÷þÎñ(Application Service)¡£

¾Ù¸ö¼ÒÕþ·þÎñ¹«Ë¾Óë AccountService ÏàËÆµÄÀý×Ó£º

±ÈÈçÄãÏëÇëһλ±£½à°¢Ò̸ø¼ÒÀï×öÒ»×öÇå½à¹¤×÷£¬Ê×ÏÈÊÇÄã´òµç»°¸ø¼ÒÕþ·þÎñ¹«Ë¾ËµÄãÒª¸ø¼ÒÀï×öÒ»×öÇå½à¹¤×÷£¬È»ºó¼ÒÕþ¹«Ë¾°²ÅÅһλ±£½à°¢ÒÌÈ¥Äã¼Ò°ïæÍê³ÉÇå½à¹¤×÷£¬ÔÚÕâ¸ö¹ý³ÌÖмÒÕþ¹«Ë¾Ö÷Òª×öÁ˽Ӵý¡¢Ð­µ÷¡¢°²ÅÅ¡¢×îºó¿ÉÄܰüº¬Ò»Ð©±£½à°¢Ò̵ļ¨Ð§µÈһϵÁй¤×÷¡£ÉÏÃæµÄ AccountService Ò²Ò»ÑùÊÇÔÚ×öÕâÑùµÄÒ»¼þÊÂÇé¡£ËùÒÔÔÚ¶ÔÏóÄ£ÐÍÖУ¬AccountService Ö»ÐèÒª×öÏñ¼ÒÕþ¹«Ë¾ÕâÑùЭµ÷¹¤×÷£¬¾ßÌ嵨¹¤×÷Óɱ£½à°¢ÒÌÀ´Íê³É£¬ÕâÀïµÄ±£½à°¢Ò̾ÍÏ൱ÓÚ Account ¶ÔÏó¡£

´ÓÁ½´¦¶Ô±ÈÀ´¿´£¬²ÉÓÃÊý¾ÝÄ£Ðͽ¨Ä£ÅäºÏÒµÎñÂß¼­·þÎñµÄ·½Ê½¸üÏñÊǹý³Ì»¯±à³Ì£¬Ö»ÊÇÔÚʹÓÃÃæÏò¶ÔÏóÓïÑÔÀ´±àд¹ý³Ì»¯´úÂë¡£¶ø²ÉÓöÔÏóÄ£ÐÍÅäºÏÓ¦Ó÷þÎñµÄ·½Ê½²ÅÊÇ·ûºÏÃæÏò¶ÔÏó±à³Ì¡£

×éºÏÓë¾ÛºÏ

ÔÚ¶àÊýµÄÒµÎñ¿ª·¢ÖУ¬ÆÕ±éÌáµ½µÄÊǹØÁª¹ØÏµ£¨Ò»¶ÔÒ»¡¢Ò»¶Ô¶à¡¢¶à¶Ô¶à£©ºÍ¼Ì³Ð·º»¯£¬ºÜÉÙÈ¥¹Ø×¢×éºÏÓë¾ÛºÏ£¬µ«ÊÇ×éºÏÓë¾ÛºÏÔÚÃæÏò¶ÔÏóÖÐÊÇÏàµ±ÖØÒªµÄ¡£

×éºÏÓë¾ÛºÏÊÇÔÚ̽ÌÖÕûÌåÓ벿·ÖµÄ¹ØÏµ£¬ÕâÖÖÕûÌåÓ벿·ÖµÄ¹ØÏµÊÇÒ»ÖֱȹØÁª¹ØÏµ¸üÇ¿µÄ¹ØÏµ¡£±ÈÈ磺Æû³µÓëÂÖÌ¥£¬Æû³µÊÇÒ»¸öÕûÌ壬ÂÖÌ¥ÊÇÆû³µµÄÒ»²¿·Ö¡£Èç¹ûÆû³µÃ»ÓÐÂÖÌ¥£¬ÄÇô¾ÍÎÞ·¨¹¹³ÉÆû³µµÄÍêÕûÐÔ£¬ËùÒÔÔÚÌÖÂÛÕûÌåÓ벿·ÖµÄ¹ØÏµÊ±£¬ÒªÌرð×¢ÒâÕûÌå¶Ô²¿·ÖµÄÒÀÀµÐÔ¶ø²»ÊDz¿·Ö¶ÔÕûÌåµÄÒÀÀµ¡£

Ê×ÏÈͨ¹ýÒ»¸öÈ˽øÊ³¹ý³ÌµÄÓÃÀýÀ´¿¼ÂÇÕûÌåÓ벿·ÖµÄÒÀÀµ¹ØÏµ£¬È»ºóÔÚÀý×ÓÖÐ˵Ã÷×éºÏÓë¾ÛºÏÇø±ðºÍÁªÏµ¡£

Õâ¸ö½øÊ³¹ý³ÌÐèÒª¶à¸öÈËÌåÆ÷¹ÙЭ×÷ÅäºÏ¡£Ê×ÏÈÊÇͨ¹ýÒ»ÖÖ·½Ê½½«Ê³ÎïËͽø¿ÚÇ»£¬ÓÉÑÀ³ÝµÄ¾×½ÀºÍÉàÍ·µÄ½Á°è£¬ÔÙÓɺíÁüÍÌÑÊ£¬´ÓʳµÀ½øÈëθÖУ¬ÔÚͨ¹ýθÀï½øÐгõ²½Ïû»¯£¬½«Òûʳ±ä³ÉʳÃÓ£¬È»ºó´«ÈëС³¦ºó£¬ÔÚÆ¢µÄÔË»¯×÷ÓÃÏ£¬¾«Î¢ÎïÖʱ»ÎüÊÕ¡£

×¢Ò⣺Õâ¸ö´Ó×쵽θµÄÖ´Ðйý³Ì²¢²»ÊÇÒ»¸ö Input/Output ·½Ê½£¬¶øÊÇÒ»¸ö Stream ·½Ê½£¬ºóÃæ»¹ÓÐÁ¬½Ó¡£´ÓÕâ¸ö½Ç¶ÈÀ´¿¼ÂÇ×ìÖ»ÊÇ Stream µÄÈë¿Ú£¬µ«ÊÇÕâ¸öÓÃÀýÖ÷ÒªÊÇÏë˵Ã÷ÕûÌåÓ벿·ÖµÄÁªÏµ£¬ËùÒÔ°ÑÕâÖÖÁ¬½ÓµÄÿһ¸ö²¿·ÖÐÞ¸Ä³É Input/Output µ÷Ó÷½Ê½¡£

ΪÕâ´Î½øÊ³¹ý³ÌÀ´½¨Ä£°É£¡Ê×ÏÈÈ·¶¨¹Ø¼üµÄ¶ÔÏóÄ£ÐÍÓУºÈË(Person)¡¢×ì(Mouth)¡¢Ê³µÀ(Esophagus)¡¢Î¸(Stomach)¡¢³¦µÀ(Intestine)¡£´úÂëÈçÏ£º

// ×ì
public class Mouth {
public Object chew(Object food) {
return food;
}
}
// ʳµÀ
public class Esophagus {
public Object transfer(Object paste) {
return paste;
}
}
// θ
public class Stomach {
public Object fill(Object paste) {
return paste;
}
}
// ³¦µÀ
public class Intestine {
public void absorb(Object chyme) {
// absorbing...
}
}
public class Person {
private final Mouth mouth;
private final Esophagus esophagus;
private final Stomach stomach;
private final Intestine intestine;
public Person() {
this.mouth = new Mouth();
this.esophagus = new Esophagus();
this.stomach = new Stomach();
this.intestine = new Intestine();
}
public void eat(Object food) { // ½øÊ³¡£
var paste = this.mouth.chew(food); // ¾×½ÀÐγɽ¬ºý¡£
paste = this.esophagus.transfer(paste); // ͨ¹ýʳµÀ´«ËÍʳÎï¡£
var chyme = this.stomach.fill(paste); // Ìî³äµ½Î¸ÀïÐγÉʳÃÓ¡£
this.intestine.absorb(chyme); // ÔÚ³¦µÀÀïÎüÊÕÓªÑø¡£
// ±ãÃØÖÐ...
}
}
public class PersonTests {
public static void main(String[] args) {
new Person().eat("chips");
}
}

ÔÚÕû¸ö½øÊ³Á÷³ÌÖУ¬ÊÇÓÉÈË(Person)×öµÄ³Ô(eat)Õâ¸ö¶¯×÷¿ªÊ¼£¬È»ºóÓÉÈËÌåÄÚ²¿µÄ¶à¸ö²ÎÓëµÄ²¿·Ö¶ÔÏóЭµ÷Íê³ÉµÄ£¬Õâ¾ÍÊÇÕûÌåÓ벿·ÖµÄ¹ØÏµ¡£Person ÊǸöÕûÌ壬Mouth, Esophagus, Stomach, Intestine ÊÇÕûÌåÄڵIJ¿·Ö¡£È»ºóÔÚ¿¼ÂÇÒ»¸öÊÂÇ飬ÕâЩ²¿·Ö¶ÔÏóÊDz»ÊÇÒÀ¸½ÔÚÕûÌå¶ÔÏóÉÏ£¬±ÈÈ磺×ìÊDz»ÊǶÀÁ¢ÓÚÈËÌå²»ÄÜ´æ»î£¬°éËæ×ÅÈ˵ĴæÔÚ¶ø´æÔÚ£¬ÏûÍö¶øÏûÍö¡£ÕâÖÖ²¿·Ö¶ÔÏóµÄ´´½¨¡¢´æÔÚºÍÏûÍö¶¼ÊǺÍÕûÌå¶ÔÏóÒ»ÆðµÄ¾Í³ÆÎª×éºÏ¡£¶ø¾ÛºÏ¾Í²»Ïñ×éºÏµÄÕûÌåÓ벿·ÖµÄ¹ØÏµÄÇôǿ£¬±ÈÈ磺Æû³µÓëÂÖÌ¥ÊÇÒ»¸öÕûÌåÓ벿·ÖµÄ¹ØÏµ£¬Æû³µÃ»ÓÐÂÖÌ¥¿Ï¶¨Åܲ»ÁË¡£µ«ÊÇÆû³µ¿ÉÒÔ¸ü»»ÂÖÌ¥£¬ÕâÖÖ¿ÉÒÔ¸ü»»µÄ¹ØÏµ¾ÍûÓÐ×éºÏ¹ØÏµÄÇôǿ¡£³ýÁ˸ü»»»¹ÓÐȱÉٵ쬱ÈÈ磺ó¦Ð·ÓаËÌõÍÈ£¬×ܵÄÀ´Ëµó¦Ð·Ã»ÓÐÍȿ϶¨ÊÇÎÞ·¨ÐÐ×ߵ쬵«ÊÇȱÉÙÒ»¸öÁ½¸ö»¹ÊÇÄÜÐÐ×ߵģ¬¿ÉÄÜÐÐ×ßÓÐһЩÀ§ÄÑ¡£ÕâÑùµÄ¿ÉÒÔÔÚ³õʼ»¯Ö®ºóÄܹ»¸ü»»µÄ»òÕß²»ÐèÒªÇ¿ÖÆÍêÕûµÄÕûÌåÓ벿·ÖµÄ¹ØÏµ³ÆÖ®Îª¾ÛºÏ¡£

Ëæ×Åʱ¼äµÄÏòǰºÍ¿Õ¼äµÄÀ©´ó£¬×éºÏºÍ¾ÛºÏ»¹ÊÇ»á´æÔÚת»»µÄÇé¿ö£¬±ÈÈçδÀ´ÈË¿ÉÒÔ»»×ì¡¢½øÊ³Á÷³Ì²»ÐèÒª×ìµÄ²ÎÓ룬ÔÙ±ÈÈç˵һ´ÎÐԽγµ£¬³ö³§ºó¾Í²»ÄÜάÐÞ¸ü»»µÈµÈ¡£ËùÒÔÔÚÌÖÂÛ×éºÏÓë¾ÛºÏµÄ¹ØÏµÊ±£¬ÒªÔÚÒ»¶¨µÄÏÞ½çÏÂÀ´ÌÖÂÛ¡£

¿ªÔ´µçÉÌ

Mallfoundry ÊÇÒ»¸öÍêÈ«¿ªÔ´µÄʹÓà Spring Boot ¿ª·¢µÄ¶àÉÌ»§µçÉÌÆ½Ì¨¡£Ëü¿ÉÒÔǶÈëµ½ÒÑÓÐµÄ Java ³ÌÐòÖУ¬»òÕß×÷Ϊ·þÎñÆ÷¡¢¼¯Èº¡¢ÔÆÖеķþÎñÔËÐС£

ÁìÓòÄ£ÐͲÉÓÃÁìÓòÇý¶¯Éè¼Æ£¨DDD£©¡¢½Ó¿Ú»¯ÒÔ¼°ÃæÏò¶ÔÏóÉè¼Æ¡£

×ܽá

¶ÔÏó½¨Ä££¬Í¨¹ý¶ÔÏóÄ£ÐÍÓëÊý¾ÝÄ£Ð͵ĶԱÈÀ´ËµÃ÷ÐèÒªÒ»ÖÖ¶ÔÏóÄ£Ð͵Ä˼ά¡£

¶ÔÏó½¨Ä£µÄÓ¦Óã¬Í¨¹ýÕË»§´æ¿îµÄÒµÎñÀ´¼òҪ˵Ã÷ÈçºÎʹÓöÔÏóÄ£ÐÍ¡£

×éºÏÓë¾ÛºÏ£¬Í¨¹ýÖØµã˵Ã÷×éºÏÓë¾ÛºÏ£¬ÈÃÆäÔÚ¶ÔÏóÄ£Ð͵Ļù´¡ÉÏ£¬ÌÖÂÛÕûÌåÓ벿·ÖµÄ¹ØÏµ¡£

   
1768 ´Îä¯ÀÀ       27
Ïà¹ØÎÄÕÂ

ΪʲôҪ×ö³ÖÐø²¿Êð£¿
ÆÊÎö¡°³ÖÐø½»¸¶¡±£ºÎå¸öºËÐÄʵ¼ù
¼¯³ÉÓë¹¹½¨Ö¸ÄÏ
³ÖÐø¼¯³É¹¤¾ßµÄÑ¡Ôñ-×°ÔØ
 
Ïà¹ØÎĵµ

³ÖÐø¼¯³É½éÉÜ
ʹÓÃHudson³ÖÐø¼¯³É
³ÖÐø¼¯³ÉÖ®-ÒÀÀµ¹ÜÀí
IPD¼¯³É²úÆ·¿ª·¢¹ÜÀí
Ïà¹Ø¿Î³Ì

ÅäÖùÜÀí¡¢ÈÕ¹¹½¨Óë³ÖÐø¼¯³É
Èí¼þ¼Ü¹¹Éè¼Æ·½·¨¡¢°¸ÀýÓëʵ¼ù
µ¥Ôª²âÊÔ¡¢Öع¹¼°³ÖÐø¼¯³É
»ùÓÚAndroidµÄµ¥Ôª¡¢ÐÔÄܲâÊÔ
×îл¼Æ»®
DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]
 
×îÐÂÎÄÕÂ
iPersonµÄ¹ý³Ì¹Û£ºÒª ¹ý³Ì or ½á¹û
¡°ÒÔÈËΪ±¾¡±µÄ¹¤³ÌÕÜѧ
ÆóÒµ¼Ü¹¹¡¢TOGAFÓëArchiMate¸ÅÀÀ
UML ͼ½â£ºË³Ðòͼ£¨ sequence diagram £©
UML ͼ½â£º¶ÔÏóͼ£¨ class diagram £©
×îпγÌ
»ùÓÚUMLºÍEA½øÐÐϵͳ·ÖÎöÉè¼Æ
UML+EA+ÃæÏò¶ÔÏó·ÖÎöÉè¼Æ
»ùÓÚSysMLºÍEA½øÐÐϵͳÉè¼ÆÓ뽨ģ
UML + ǶÈëʽϵͳ·ÖÎöÉè¼Æ
ÁìÓòÇý¶¯µÄ½¨Ä£ÓëÉè¼Æ
³É¹¦°¸Àý
ijµçÐÅÔËÓª¹©Ó¦ÉÌ Ó¦ÓÃUML½øÐÐÃæÏò¶ÔÏó·ÖÎö
·é»ðͨÐÅ UML½øÐÐÃæÏò¶ÔÏóµÄ·ÖÎöÉè¼Æ
Î÷ÃÅ×Ó UMLÓëǶÈëʽÈí¼þ·ÖÎöÉè¼Æ
º½Ìì¿Æ¹¤Ä³×Ó¹«Ë¾ ´Óϵͳµ½Èí¼þµÄ·ÖÎö¡¢Éè¼Æ
ÉîÛÚijÆû³µÆóÒµ Ä£ÐÍÇý¶¯µÄ·ÖÎöÉè¼Æ