文章 2021-12-21 来自:开发者社区

阿里P8架构师教你kill代码重复/大量ifelse(下)

通过注解实现了对API参数的描述。看反射如何配合注解实现动态的接口参数组装:private static String remoteCall(AbstractAPI api) throws IOException { // 从类上获得BankAPI注解,然后拿到其URL属性,后续进行远程调用 BankAPI bankAPI = api.getClass().getAnnotati...

阿里P8架构师教你kill代码重复/大量ifelse(下)
文章 2021-12-21 来自:开发者社区

阿里P8架构师教你kill代码重复/大量ifelse(中)

2.3 重构秘技 - 模板方法模式可以把重复逻辑定义在抽象类,三个购物车只要分别实现不同部分的逻辑。这其实就是模板方法模式。在父类中实现购物车处理的流程模板,然后把需要特殊处理的留抽象方法定义,让子类去实现。由于父类逻辑无法单独工作,因此需要定义为抽象类。如下代码所示,AbstractCart抽象类实现了购物车通用的逻辑,额外定义了两个抽象方法让子类去实现。其中,processCouponPri....

阿里P8架构师教你kill代码重复/大量ifelse(中)
文章 2021-12-21 来自:开发者社区

阿里P8架构师教你kill代码重复/大量ifelse(上)

本文就教你如何优雅消除重复代码并改变你对业务代码没技术含量的观念。1 crud 工程师之“痛”很多 crud 工程师抱怨业务开发没有技术含量,什么设计模式、高并发都用不到,就是堆CRUD。每次面试被问到“讲讲常用设计模式?”,都只能把单例讲到精通,其他设计模式即使听过也只会简单说说,因为根本没实际用过。对于反射、注解,也只是知道在框架中用的很多,但自己又不写框架,更不知道该如何使用。设计模式是世....

阿里P8架构师教你kill代码重复/大量ifelse(上)
文章 2021-12-19 来自:开发者社区

72 页 PPT,带你梳理神经网络完整架构(含 PyTorch 代码)

今天带来一份由 Santiago Pascual de la Puente 整理和总结的一份 72 页 PPT。这份 PPT 总结了如今主要的神经网络架构及其组成,含 PyTorch 实现代码片段!在线地址:https://docs.google.com/presentation/d/1MFhet5q-SIPqc_54CXWiBvlT9OdSi6P8kpkm6IxuyEM/edit#slide=....

72 页 PPT,带你梳理神经网络完整架构(含 PyTorch 代码)
文章 2021-12-16 来自:开发者社区

Java架构师教你写代码(二) - 使用建造者替代多参数的构造器(下)

4 建造者模式适于类层次结构使用构建器的平行层次结构,每个构建器都嵌套在相应类中。抽象类有抽象类构建器;具体类有具体类构建器。4.1 实例类继承结构中处于最底端的抽象类:各种比萨:BasePizza.Builder 泛型类型,有个递归类型的参数。和抽象的 self 方法一起,允许在子类中适当地进行方法链接,而无需强制转换。对于 Java 缺少自类型这一事实,这种变通方法是模拟自类型习惯用法。有两....

Java架构师教你写代码(二) - 使用建造者替代多参数的构造器(下)
文章 2021-12-16 来自:开发者社区

Java架构师教你写代码(二) - 使用建造者替代多参数的构造器(上)

静态工厂和构造器的局限:对于大量可选参数情况,难以做到很好的扩展。比如一个类,表示包装食品上的营养标签。有些字段是必需的:净含量、毛重和每单位份量的卡路里,还有 20 个可选字段,如:总脂肪、饱和脂肪、反式脂肪、胆固醇、钠…大多食品只使用可选字段中的少数,且非零值。这样的类怎么编写构造器或静态工厂?SE 通常使用可伸缩构造器模式:只向构造函数提供必需的参数。提供的第一个构造器只有必需参数,第二个....

Java架构师教你写代码(二) - 使用建造者替代多参数的构造器(上)
文章 2021-12-16 来自:开发者社区

Java架构师教你写代码(一) - 使用静态工厂方法(简单工厂)替代构造器(下)

2.2 无需在每次调用时创建新对象这使得不可变类使用事先构造好的实例,或在构造实例时缓存实例,重复分配以避免创建不必要的重复对象。Boolean.valueOf(boolean) 方法:它从不创建对象。Boolean类中该方法将 boolean 基本类型值转换为一个 Boolean 对象引用返回一个Boolean表示指定实例boolean的值。 如果指定的boolean值是true ,则此方法返....

Java架构师教你写代码(一) - 使用静态工厂方法(简单工厂)替代构造器(下)
文章 2021-12-16 来自:开发者社区

Java架构师教你写代码(一) - 使用静态工厂方法(简单工厂)替代构造器(中)

logback 应用JDBC实例返回值是一个抽象类,必有一子类实现这其中URLStreamHandler就相当于各种抽象产品,而其实现类即各种具体的产品URLStreamHandlerFactory就相当于 VideoFactory而如下 Factory 就相当于如 JavaVideoFactory/PythonVideoFactoryLogback实例客户端获得一个类实例的传统方式是调用由类提....

Java架构师教你写代码(一) - 使用静态工厂方法(简单工厂)替代构造器(中)
文章 2021-12-16 来自:开发者社区

Java架构师教你写代码(一) - 使用静态工厂方法(简单工厂)替代构造器(上)

1 简单工厂定义由一个工厂对象决定创建出哪一种产品类的实例类型创建型,但不属于GOF23种设计模式官方定义Define an interface for creating an object,but let subclasses decide which class to instantiate.Factory Method lets a class defer instantiation to....

Java架构师教你写代码(一) - 使用静态工厂方法(简单工厂)替代构造器(上)
文章 2021-10-13 来自:开发者社区

PaddlePaddle:在 Serverless 架构上十几行代码实现 OCR 能力

飞桨 (PaddlePaddle) 以百度多年的深度学习技术研究和业务应用为基础,是中国首个自主研发、功能完备、 开源开放的产业级深度学习平台,集深度学习核心训练和推理框架、基础模型库、端到端开发套件和丰富的工具组件于一体。飞桨深度学习框架采用基于编程逻辑的组网范式,对于普通开发者而言更容易上手,同时支持声明式和命令式编程,兼具开发的灵活性和高性能。另外飞桨不仅广泛兼容第三方开源框架训练的模型部....

PaddlePaddle:在 Serverless 架构上十几行代码实现 OCR 能力

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

产品推荐

金融级分布式架构

SOFAStack™(Scalable Open Financial Architecture Stack)是一套用于快速构建金融级分布式架构的中间件,也是在金融场景里锤炼出来的最佳实践。

+关注