From 8c316e75fe00dcb2a794c44d2e2a938a20b227d7 Mon Sep 17 00:00:00 2001 From: egg0102030405 <59650695+egg0102030405@users.noreply.github.com> Date: Sat, 10 Feb 2024 19:57:36 +1100 Subject: [PATCH] translation: Added Chinese Translation for several patterns (#2744) * translation for step-builder and table-module and unit-of-work and update-method and value-object to Chinese * fix a translation error --- localization/zh/step-builder/README.md | 24 +++ .../zh/step-builder/etc/step-builder.png | Bin 0 -> 76038 bytes localization/zh/table-module/README.md | 135 ++++++++++++ .../zh/table-module/etc/table-module.urm.png | Bin 0 -> 77337 bytes localization/zh/unit-of-work/README.md | 203 ++++++++++++++++++ .../zh/unit-of-work/etc/unit-of-work.urm.png | Bin 0 -> 40804 bytes localization/zh/update-method/README.md | 36 ++++ .../update-method/etc/update-method.urm.png | Bin 0 -> 39843 bytes localization/zh/value-object/README.md | 96 +++++++++ .../zh/value-object/etc/value-object.png | Bin 0 -> 5025 bytes 10 files changed, 494 insertions(+) create mode 100644 localization/zh/step-builder/README.md create mode 100644 localization/zh/step-builder/etc/step-builder.png create mode 100644 localization/zh/table-module/README.md create mode 100644 localization/zh/table-module/etc/table-module.urm.png create mode 100644 localization/zh/unit-of-work/README.md create mode 100644 localization/zh/unit-of-work/etc/unit-of-work.urm.png create mode 100644 localization/zh/update-method/README.md create mode 100644 localization/zh/update-method/etc/update-method.urm.png create mode 100644 localization/zh/value-object/README.md create mode 100644 localization/zh/value-object/etc/value-object.png diff --git a/localization/zh/step-builder/README.md b/localization/zh/step-builder/README.md new file mode 100644 index 000000000..5e27f6f1d --- /dev/null +++ b/localization/zh/step-builder/README.md @@ -0,0 +1,24 @@ +--- +title: Step Builder +category: Creational +language: zn +tag: + - Instantiation +--- + +## 又被称为 +分步构建 + +## 目的 +这是构建者模式的一个扩展,完全指导用户创建对象,没有混淆的机会。 +用户体验会大大提升,因为他只能看到下一个步骤的方法,直到适当的时机才会出现构建对象的“build”方法。 + +## 类图 +![alt text](./etc/step-builder.png "Step Builder") + +## 应用 +使用分布构建模式当创建复杂对象的算法需要独立于组成对象的部分以及它们的组装方式,且构造过程必须允许对象有不同的表示形式,并且在此过程中顺序很重要时。 + +## 鸣谢 + +* [Marco Castigliego - Step Builder](http://rdafbn.blogspot.co.uk/2012/07/step-builder-pattern_28.html) diff --git a/localization/zh/step-builder/etc/step-builder.png b/localization/zh/step-builder/etc/step-builder.png new file mode 100644 index 0000000000000000000000000000000000000000..b7b623657c589b4cf18160ec268733a3a16f69c2 GIT binary patch literal 76038 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 当处理一个用户系统时,我们需要在用户表上进行一些操作。在这种情况下,我们可以使用表模块模式。我们可以创建一个名为 UserTableModule 的类,并初始化该类的一个实例,来处理用户表中所有行的业务逻辑。 + +直白点说 + +> 一个单独的实例,处理数据库表或视图中所有行的业务逻辑。 + +**编程实例** + +在用户系统的示例中,我们需要处理用户登录和用户注册的域逻辑。我们可以使用表模块模式,并创建UserTableModule类的一个实例来处理用户表中所有行的业务逻辑。 + +以下是基本的User实体。 + +```java +@Setter +@Getter +@ToString +@EqualsAndHashCode +@AllArgsConstructor +public class User { + private int id; + private String username; + private String password; +} +``` + +下面的是 `UserTableModule` 类. + +```java +public class UserTableModule { + private final DataSource dataSource; + private Connection connection = null; + private ResultSet resultSet = null; + private PreparedStatement preparedStatement = null; + + public UserTableModule(final DataSource userDataSource) { + this.dataSource = userDataSource; + } + + /** + * Login using username and password. + * + * @param username the username of a user + * @param password the password of a user + * @return the execution result of the method + * @throws SQLException if any error + */ + public int login(final String username, final String password) throws SQLException { + // Method implementation. + + } + + /** + * Register a new user. + * + * @param user a user instance + * @return the execution result of the method + * @throws SQLException if any error + */ + public int registerUser(final User user) throws SQLException { + // Method implementation. + } +} +``` + +在App类中,我们使用UserTableModule的一个实例来处理用户登录和注册。 + +```java +// Create data source and create the user table. +final var dataSource = createDataSource(); +createSchema(dataSource); +userTableModule = new UserTableModule(dataSource); + +//Initialize two users. +var user1 = new User(1, "123456", "123456"); +var user2 = new User(2, "test", "password"); + +//Login and register using the instance of userTableModule. +userTableModule.registerUser(user1); +userTableModule.login(user1.getUsername(), user1.getPassword()); +userTableModule.login(user2.getUsername(), user2.getPassword()); +userTableModule.registerUser(user2); +userTableModule.login(user2.getUsername(), user2.getPassword()); + +deleteSchema(dataSource); +``` + +程序输出: + +```java +12:22:13.095 [main] INFO com.iluwatar.tablemodule.UserTableModule - Register successfully! +12:22:13.117 [main] INFO com.iluwatar.tablemodule.UserTableModule - Login successfully! +12:22:13.128 [main] INFO com.iluwatar.tablemodule.UserTableModule - Fail to login! +12:22:13.136 [main] INFO com.iluwatar.tablemodule.UserTableModule - Register successfully! +12:22:13.144 [main] INFO com.iluwatar.tablemodule.UserTableModule - Login successfully! +``` + +## 类图 + +![](etc/table-module.urm.png "table module") + +## 应用 +使用表模块模式当: + +- 域逻辑简单且数据呈表格形式。 +- 应用程序仅使用少量共享的常见的面向表格的数据结构。 + +## 教学 + +- [Transaction Script](https://java-design-patterns.com/patterns/transaction-script/) + +- [Domain Model](https://java-design-patterns.com/patterns/domain-model/) + +## 鸣谢 + +* [Table Module Pattern](http://wiki3.cosc.canterbury.ac.nz/index.php/Table_module_pattern) +* [Patterns of Enterprise Application Architecture](https://www.amazon.com/gp/product/0321127420/ref=as_li_qf_asin_il_tl?ie=UTF8&tag=javadesignpat-20&creative=9325&linkCode=as2&creativeASIN=0321127420&linkId=18acc13ba60d66690009505577c45c04) +* [Architecture patterns: domain model and friends](https://inviqa.com/blog/architecture-patterns-domain-model-and-friends) \ No newline at end of file diff --git a/localization/zh/table-module/etc/table-module.urm.png b/localization/zh/table-module/etc/table-module.urm.png new file mode 100644 index 0000000000000000000000000000000000000000..9c4bc0b189dba5c86aeddf9235946135019added GIT binary patch literal 77337 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 literal 0 HcmV?d00001 diff --git a/localization/zh/unit-of-work/README.md b/localization/zh/unit-of-work/README.md new file mode 100644 index 000000000..a957390e8 --- /dev/null +++ b/localization/zh/unit-of-work/README.md @@ -0,0 +1,203 @@ +--- +title: Unit Of Work +category: Architectural +language: zn +tag: + - Data access + - Performance +--- + +## 又被称为 +工作单元 + +## 目的 + +当一个业务事务完成时,所有的更新都作为一个大的工作单元一次性发送,以最小化数据库的往返次数进行持久化。 + +## 解释 + +现实世界例子 + +> 武器商人拥有一个包含武器信息的数据库。 +> 全城的商贩们都在不断地更新这些信息,这导致数据库服务器的负载很高。 +> 为了使负载更易于管理,我们应用了工作单元模式,将许多小的更新批量发送。 + +用直白的话来说 + +> 工作单元将许多小的数据库更新合并成一个批次。 +> 以优化往返次数。 + +[MartinFowler.com](https://martinfowler.com/eaaCatalog/unitOfWork.html) 中说 + +> 维护一个受业务事务影响的对象列表。 +> 并协调写出更改和解决并发问题。 + +**编程样例** + +以下是要持久化到数据库中的 `Weapon` 的实体。 + +```java +@Getter +@RequiredArgsConstructor +public class Weapon { + private final Integer id; + private final String name; +} +``` + +实现的核心是 `ArmsDealer` 实现了工作单元模式。 +它维护了一个需要完成的数据库操作映射 (`context`) 当调用 `commit` 时 +它会一次性批量应用这些操作。 + +```java +public interface IUnitOfWork { + + String INSERT = "INSERT"; + String DELETE = "DELETE"; + String MODIFY = "MODIFY"; + + void registerNew(T entity); + + void registerModified(T entity); + + void registerDeleted(T entity); + + void commit(); +} + +@Slf4j +@RequiredArgsConstructor +public class ArmsDealer implements IUnitOfWork { + + private final Map> context; + private final WeaponDatabase weaponDatabase; + + @Override + public void registerNew(Weapon weapon) { + LOGGER.info("Registering {} for insert in context.", weapon.getName()); + register(weapon, UnitActions.INSERT.getActionValue()); + } + + @Override + public void registerModified(Weapon weapon) { + LOGGER.info("Registering {} for modify in context.", weapon.getName()); + register(weapon, UnitActions.MODIFY.getActionValue()); + + } + + @Override + public void registerDeleted(Weapon weapon) { + LOGGER.info("Registering {} for delete in context.", weapon.getName()); + register(weapon, UnitActions.DELETE.getActionValue()); + } + + private void register(Weapon weapon, String operation) { + var weaponsToOperate = context.get(operation); + if (weaponsToOperate == null) { + weaponsToOperate = new ArrayList<>(); + } + weaponsToOperate.add(weapon); + context.put(operation, weaponsToOperate); + } + + /** + * All UnitOfWork operations are batched and executed together on commit only. + */ + @Override + public void commit() { + if (context == null || context.size() == 0) { + return; + } + LOGGER.info("Commit started"); + if (context.containsKey(UnitActions.INSERT.getActionValue())) { + commitInsert(); + } + + if (context.containsKey(UnitActions.MODIFY.getActionValue())) { + commitModify(); + } + if (context.containsKey(UnitActions.DELETE.getActionValue())) { + commitDelete(); + } + LOGGER.info("Commit finished."); + } + + private void commitInsert() { + var weaponsToBeInserted = context.get(UnitActions.INSERT.getActionValue()); + for (var weapon : weaponsToBeInserted) { + LOGGER.info("Inserting a new weapon {} to sales rack.", weapon.getName()); + weaponDatabase.insert(weapon); + } + } + + private void commitModify() { + var modifiedWeapons = context.get(UnitActions.MODIFY.getActionValue()); + for (var weapon : modifiedWeapons) { + LOGGER.info("Scheduling {} for modification work.", weapon.getName()); + weaponDatabase.modify(weapon); + } + } + + private void commitDelete() { + var deletedWeapons = context.get(UnitActions.DELETE.getActionValue()); + for (var weapon : deletedWeapons) { + LOGGER.info("Scrapping {}.", weapon.getName()); + weaponDatabase.delete(weapon); + } + } +} +``` + +以下描述了整个应用是如何组装起来的。 + +```java +// create some weapons +var enchantedHammer = new Weapon(1, "enchanted hammer"); +var brokenGreatSword = new Weapon(2, "broken great sword"); +var silverTrident = new Weapon(3, "silver trident"); + +// create repository +var weaponRepository = new ArmsDealer(new HashMap>(), new WeaponDatabase()); + +// perform operations on the weapons +weaponRepository.registerNew(enchantedHammer); +weaponRepository.registerModified(silverTrident); +weaponRepository.registerDeleted(brokenGreatSword); +weaponRepository.commit(); +``` + +以下是控制台输出。 + +``` +21:39:21.984 [main] INFO com.iluwatar.unitofwork.ArmsDealer - Registering enchanted hammer for insert in context. +21:39:21.989 [main] INFO com.iluwatar.unitofwork.ArmsDealer - Registering silver trident for modify in context. +21:39:21.989 [main] INFO com.iluwatar.unitofwork.ArmsDealer - Registering broken great sword for delete in context. +21:39:21.989 [main] INFO com.iluwatar.unitofwork.ArmsDealer - Commit started +21:39:21.989 [main] INFO com.iluwatar.unitofwork.ArmsDealer - Inserting a new weapon enchanted hammer to sales rack. +21:39:21.989 [main] INFO com.iluwatar.unitofwork.ArmsDealer - Scheduling silver trident for modification work. +21:39:21.989 [main] INFO com.iluwatar.unitofwork.ArmsDealer - Scrapping broken great sword. +21:39:21.989 [main] INFO com.iluwatar.unitofwork.ArmsDealer - Commit finished. +``` + +## 类图 + +![alt text](./etc/unit-of-work.urm.png "unit-of-work") + +## 应用 + +在以下情况时使用单元模式 + +* 为了优化数据库事务所需的时间。 +* 作为工作单元将更改发送到数据库,确保事务的原子性。 +* 为了减少数据库调用的次数。 + +## 教程 + +* [Repository and Unit of Work Pattern](https://www.programmingwithwolfgang.com/repository-and-unit-of-work-pattern/) +* [Unit of Work - a Design Pattern](https://mono.software/2017/01/13/unit-of-work-a-design-pattern/) + +## 鸣谢 + +* [Design Pattern - Unit Of Work Pattern](https://www.codeproject.com/Articles/581487/Unit-of-Work-Design-Pattern) +* [Unit Of Work](https://martinfowler.com/eaaCatalog/unitOfWork.html) +* [Patterns of Enterprise Application Architecture](https://www.amazon.com/gp/product/0321127420/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=0321127420&linkCode=as2&tag=javadesignpat-20&linkId=d9f7d37b032ca6e96253562d075fcc4a) diff --git a/localization/zh/unit-of-work/etc/unit-of-work.urm.png b/localization/zh/unit-of-work/etc/unit-of-work.urm.png new file mode 100644 index 0000000000000000000000000000000000000000..bb192af544775ca7e761292cdd7e127312c468f1 GIT binary patch literal 40804 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 在一个角色扮演游戏中,有一个用于英雄属性统计的类。 +> 这些统计属性包括力量、智慧和运气等特征。 +> 当所有的属性都相同时,不同英雄的统计数据应被认为是相等的。 + +用直白的话来说 + +> 当值对象的属性有相同的值时,它们是相等的。 + +维基百科中说 + +> 在计算机科学中,值对象是一个代表简单实体的小对象。 +> 其相等性不是基于身份的:即当两个值对象有相同的值的时候。 +> 它们是相等的,而不必要是同一个对象。 + +**编程样例** + +这里是作为值对象的 `HeroStat` 类。 请注意使用了 +[Lombok's `@Value`](https://projectlombok.org/features/Value) 注解。 + +```java +@Value(staticConstructor = "valueOf") +class HeroStat { + + int strength; + int intelligence; + int luck; +} +``` + +这个示例创建了三个不同的 `HeroStat`s 并比较了它们的相等性。 + +```java +var statA = HeroStat.valueOf(10, 5, 0); +var statB = HeroStat.valueOf(10, 5, 0); +var statC = HeroStat.valueOf(5, 1, 8); + +LOGGER.info(statA.toString()); +LOGGER.info(statB.toString()); +LOGGER.info(statC.toString()); + +LOGGER.info("Is statA and statB equal : {}", statA.equals(statB)); +LOGGER.info("Is statA and statC equal : {}", statA.equals(statC)); +``` + +以下是控制台的输出。 + +``` +20:11:12.199 [main] INFO com.iluwatar.value.object.App - HeroStat(strength=10, intelligence=5, luck=0) +20:11:12.202 [main] INFO com.iluwatar.value.object.App - HeroStat(strength=10, intelligence=5, luck=0) +20:11:12.202 [main] INFO com.iluwatar.value.object.App - HeroStat(strength=5, intelligence=1, luck=8) +20:11:12.202 [main] INFO com.iluwatar.value.object.App - Is statA and statB equal : true +20:11:12.203 [main] INFO com.iluwatar.value.object.App - Is statA and statC equal : false +``` + +## 类图 + +![alt text](./etc/value-object.png "Value Object") + +## 应用 + +当满足以下情况时,使用值对象: + +* 对象的相等性需要基于对象的值 + +## 现实世界的案例 + +* [java.util.Optional](https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html) +* [java.time.LocalDate](https://docs.oracle.com/javase/8/docs/api/java/time/LocalDate.html) +* [joda-time, money, beans](http://www.joda.org/) + +## 鸣谢 + +* [Patterns of Enterprise Application Architecture](http://www.martinfowler.com/books/eaa.html) +* [ValueObject](https://martinfowler.com/bliki/ValueObject.html) +* [VALJOs - Value Java Objects : Stephen Colebourne's blog](http://blog.joda.org/2014/03/valjos-value-java-objects.html) +* [Value Object : Wikipedia](https://en.wikipedia.org/wiki/Value_object) +* [J2EE Design Patterns](https://www.amazon.com/gp/product/0596004273/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=0596004273&linkCode=as2&tag=javadesignpat-20&linkId=f27d2644fbe5026ea448791a8ad09c94) diff --git a/localization/zh/value-object/etc/value-object.png b/localization/zh/value-object/etc/value-object.png new file mode 100644 index 0000000000000000000000000000000000000000..69a244c80691b8ac63ed5b732b8b0828c592a1f8 GIT binary patch literal 5025 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 literal 0 HcmV?d00001