包装组织和项目结构设计

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了包装组织和项目结构设计相关的知识,希望对你有一定的参考价值。

[我正在尝试用Java创建一个textsearcher库,它将具有一个接口TextSearcher和3个实现它的类:RegexPatternSearcherSingleTokenSearcherMultiTokenSearcher

然后我创建了一个TextSearcherFacade类,该类公开了static方法,例如:

  1. static findEmailAddresses(String input)-使用RegexPatternSearcher
  2. static findPhoneNumbers(String input)-使用RegexPatternSearcher
  3. static findDisallowedWords(String input, Set<String> disAllowedWords)-使用SingleTokenSearcher

我希望库的用户公开这些简单的方法(即TextSearcherFacade中的方法),以便于使用。

但是,我不喜欢单个TextSearcherFacade类具有配置和创建RegexPatternSearcherSingleTokenSearcherMultiTokenSearcher的方法的想法,因为这些方法依赖于不同的类并且在逻辑上似乎有所不同。

我正在尝试寻找一种更好,更可扩展的方法来设计此库。非常感谢您的帮助。

答案

您可以为每个find方法创建一个类。例如,您可能有EmailFinderPhoneNumberFinder

另外,他们可以使用interface方法实现List<FindResult> find(String input),并且可以通过实例化它们并调用find()方法来使用它们。

以上是关于包装组织和项目结构设计的主要内容,如果未能解决你的问题,请参考以下文章

使用 Cython 和 C++ 组织项目

组织页面工厂框架项目的最佳方法是什么

常用Javascript代码片段集锦

php 一个自定义的try..catch包装器代码片段,用于执行模型函数,使其成为一个单行函数调用

如何使用webpack加载库源映射?

系统管理之组织机构树形化结构优化篇