当前位置: 首页 > news >正文

兰州网站制作公司100推荐常州微信网站建设

兰州网站制作公司100,推荐常州微信网站建设,网站建设薪水,电脑首页wordpress命名对象实体对象这是最常见的辩论之一。 大多数人对此主题有自己的见解#xff0c;却没人能真正说出哪个是正确的。 我当然不能#xff0c;但是尽管如此#xff0c;我还是决定与大家分享我的想法#xff0c;投入两美分#xff0c;也许对某人会有帮助。 当我创建一个新类… 命名对象实体对象 这是最常见的辩论之一。 大多数人对此主题有自己的见解却没人能真正说出哪个是正确的。 我当然不能但是尽管如此我还是决定与大家分享我的想法投入两美分也许对某人会有帮助。 当我创建一个新类时我要做的第一件事就是设计其接口如您所知我相信任何对象都必须实现至少一个接口。 接口的名称通常反映对象是什么而不是对象的作用或其他对象应使用的对象。 在极少数情况下我认为形容词是合适的其中之一是Iterable 。 汤姆和杰里–杰里的表哥威廉·汉娜William Hanna和约瑟夫·巴贝拉Joseph Barbera 然后是该接口的实现。 由于将来可能会有更多实现因此我主要根据封装的细节来命名对象。 因此假设接口是HttpRequest 那么如果遵循该接口的第一个对象使用ApacheHttpClient则其名称可能是ApacheRequest 。 然后可能会有另一个实现与另一个http客户端可能是jcabi-http一起工作 在这种情况下名称将为JcabiRequest 。 到目前为止还算不错也许没有什么新鲜的但是这里有个要注意的地方根据模式的不同我自己的类的名称不一定一定有意义。 例如在我的一个项目中的某处您将看到以下类 /*** Decorator which adds some HTTP headers on the decorated request.*/ public final class HttpHeaders implements HttpRequest {//... } 它本身看起来并不自然对吧 好吧应该很清楚这种类型的请求永远都不应该“单独”使用。 它的构造函数甚至不允许它因为它应该包装另一个HttpRequest 或者另一个包装器或者一个具体的请求。 你能想到一个更好的名字吗 我相信在命名一个类时我们还必须考虑如何使用它在何种上下文或模式下使用-如果将所有这些名称放在一起时这些名称有意义那么您就可以了。 添加无用的名词只会导致噪音。 HttpHeaders的用法如下 MapString, String headers ...;HttpRequest request new HttpHeaders (new Get(URI.create(...)),headers); 此外我讨厌无用的后缀。 让我们以最光荣的例子为例“工厂”。 您是否注意到当一个对象负责创建其他对象时不再重要了吗 上下文业务领域什么都没有 该不良对象的名称必须带有后缀“ Factory”否则代码将无法工作。 我的代码中确实有工厂对象但是“ factory”一词在任何地方都没有。 该项目是一个聊天机器人最顶级的抽象之一是“知识”机器人知道该怎么做。 知识的每种实现都会创建代表它的步骤树–机器人需要执行一个或多个步骤才能执行任何命令。 我所谓的“知识”实际上是一个工厂对象因为它会创建其他对象这些步骤。 汇编代码如下所示 final Conversation talk new Conversation(new Hello(new RunScript(new Confused())));talk.start(command); Conversation Hello RunScript和Confused都实现了Knowledge并且它们以级联机制一起工作以便找到要执行的正确步骤。 上面的代码片段翻译为以下单词“对话开始机器人可以说你好为您运行一些脚本如果它不理解命令可能会感到困惑”。 现在这里是相同的代码片段但具有更常见的命名 final StepsFactory factory new ConversationFactory(new HelloFactory(new RunScriptFactory(new ConfusedFactory())));factory.getSteps(command); 哪一个更好 它们都将以相同的方式工作这仅与可读性有关。 对我而言这就像是完成的建筑物还是周围仍然有建筑脚手架的建筑物–没有人想知道房屋的建造方式所使用的所有脚手架和仪器这并不重要。 取而代之的是每个人都渴望看到最终的构造并且他们应该了解它的作用而不要弄清楚实现它的目的。 另一个命名示例 Log log new WebLog(new LogFile(/comdor/ActionLogs, this.id),https://webapps.amihaiemil.com ); 为什么选择WebLog 因为封装的日志最终将在Web UI上呈现给用户。 调用log.address() 字符串“ https://webapps.amihaiemil.com”将与文件名连接在一起以形成有效的URL。 这是WebLog类您还可以看到Log类型的封装变量将显示给用户被命名为“ onServer”因为它是最终从中获取的日志文件。服务器。 这几乎就是我如何处理命名的想法。 而且当然我总是写JavaDocs如果没有它们Maven Central甚至不允许您发布任何内容因此如果名称不够好它上面的JavaDoc总是会为您提供帮助。 你怎么看 您使用什么命名约定 翻译自: https://www.javacodegeeks.com/2018/01/take-object-naming.html命名对象实体对象
http://wiki.neutronadmin.com/news/330751/

相关文章:

  • 无锡新区网站建设wordpress 发音
  • 江西做网站河南和城乡建设厅网站
  • 唐山app开发公司深圳seo优化多少钱
  • 信托公司网站建设网站建设无底薪提成
  • 深圳建立网站公司高邮网站开发
  • 上海企业网站建设公司哪家好可以随意做配搭的网站
  • 如何建立个人网站网站搭建怎么收费
  • 上饶做网站的公司嵌入式软件开发程序员
  • 如何提升网站的搜索排名北京网站设计成功a刻
  • 宁波模板建站源码网站 架构设计
  • 百度云自助建站上海美容网站建设
  • 高明网站设计多少钱网站漂浮广告
  • 漂亮的网站改版中 html代码网站备案 企业 个人
  • 18款禁用软件app网站入口免费行情软件app
  • 响应式网站和传统网站免费手机虚拟机
  • 做电影网站违法么怎样用wordpress做网站
  • 网站开发人员职位东方建设官方网站
  • 网站开发公司创业策划深圳网站快速备案
  • php免费网站系统桂林小程序制作
  • 网页制作师培训谷歌seo网站推广
  • 网站制作需要学什么长沙县营销型网站建设选哪家
  • 青岛建设网站设计公司企业做网站的概要
  • 怎样做有趣的视频网站清镇市最新消息
  • 怎么做网站的营销电脑无法运行wordpress
  • 免费网站注册免费网站申请阿里巴巴运营教程
  • 宜宾建设机械网站四川省建设工程质量与安全监督网站
  • 大型网站开发收费珠宝首饰网站建设
  • 建设品牌网站门店营销活动策划方案
  • 普通的宣传网站用什么做济南网约车公司
  • 可以免费做网站吗广州网站制作公司