±à¼ÍƼö: |
±¾ÎÄÖ÷Òª½éÉÜÁËÃæÏò¶ÔÏóµÄÊôÐԺͲÙ×÷¡¢¶ÔÏó½¨Ä£¡¢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£©¡¢½Ó¿Ú»¯ÒÔ¼°ÃæÏò¶ÔÏóÉè¼Æ¡£
×ܽá
¶ÔÏó½¨Ä££¬Í¨¹ý¶ÔÏóÄ£ÐÍÓëÊý¾ÝÄ£Ð͵ĶԱÈÀ´ËµÃ÷ÐèÒªÒ»ÖÖ¶ÔÏóÄ£Ð͵Ä˼ά¡£
¶ÔÏó½¨Ä£µÄÓ¦Óã¬Í¨¹ýÕË»§´æ¿îµÄÒµÎñÀ´¼òҪ˵Ã÷ÈçºÎʹÓöÔÏóÄ£ÐÍ¡£
×éºÏÓë¾ÛºÏ£¬Í¨¹ýÖØµã˵Ã÷×éºÏÓë¾ÛºÏ£¬ÈÃÆäÔÚ¶ÔÏóÄ£Ð͵Ļù´¡ÉÏ£¬ÌÖÂÛÕûÌåÓ벿·ÖµÄ¹ØÏµ¡£ |