设计思想
CmdSmith
这个作者很懒,什么都没留下…
展开
-
异常处理的重要原则
异常处理就像一个活门(trap door),使你能放弃程序的正常执行序列。 异常处理的一个重要原则是“只有在你知道如何处理的情况下才捕获异常”。实际上,异常处理的一个重要目标就是把错误处理的代码同错误发生的地点相分离。这使你能在一段代码中专注于要完成的事情,至于如何处理错误,则放在另一段代码中完成。 “被检查的异常“强制你可能在还没有准备好处理错误的时候,被迫加上catch语句,这就导致了吞食则有...原创 2019-03-12 17:23:48 · 547 阅读 · 0 评论 -
REST基础知识 与 REST 和 RPC的区别
数据为王。 数据是许多业务的生命之血。软件通常是可以替换的,但是多年累积的数据是永远不能替换的。 近年来,以信息为中心的表述性状态转移(Representational State Tranfer,REST)已成为替换传统SOAP Web服务的流行方案。SOAP一般会关注行为和处理,而 REST关注的是要处理的数据。 16.1 了解 REST 在软件开发中有一种很流行的做法,那就是推动REST替换...原创 2019-03-12 16:28:48 · 594 阅读 · 0 评论 -
闭包与回调
闭包是一个可调用对象,它记录了一些信息,这些信息来自于创建它的作用域。 通过这个定义,可以看出来内部类是面向对象的闭包,因为它不仅包含外围类对象(创建内部类的作用域)的信息,还自动拥有一个指向此外围类对象的引用,在此作用域内,内部类有权操作所有的成员,包括private成员。 Java 最引人争议的问题之一就是,人们认为Java应该包含某种类似指针的机制,以允许回调(callback)。通过回调,...原创 2019-03-08 13:21:13 · 821 阅读 · 0 评论 -
为什么需要内部类
每个内部类都能独立地继承自一个(接口的)实现,所以无论外围类是否已经继承了某个(接口的)实现,对于内部类都没有影响。 如果没有内部类提供的,可以继承多个具体或抽象的类的能力,一些设计与编程问题就很难解决。 从这个角度看,内部类使得多重继承的解决方案变得完整。接口解决了部分问题,而内部类有效地实现类“多重继承”。也就是说,内部类允许继承多个非接口类型(译注:类或抽象类)。比如当前类已经继承了一个类,...原创 2019-03-08 13:00:49 · 156 阅读 · 0 评论 -
微服务不只是编写代码(微服务模式)
微服务路由模式负责处理希望消费微服务的客户端应用程序,使客户端应用程序发现服务的位置并路由到服务。 在基于云的应用程序中,可能会运行成百上千个微服务实例。需要抽象这些服务的物理IP地址,并为服务调用提供单个入口点,以便为所有服务调用持续强制安全和内容策略。 服务发现和服务路由并不彼此依赖。 服务发现和路由是所有大规模微服务应用的关键部分。 服务发现从客户端抽象出服务的物理位置。可以添加新的微服务实...原创 2019-03-02 09:40:01 · 737 阅读 · 0 评论 -
Spring 核心
Spring 致力于简化企业级Java开发,促进代码的松散耦合。成功的关键在于依赖注入和AOP。 DI是组装应用对象的一种方式,借助于这种方式,对象无需知道依赖来自何处或者依赖的实现方式。不同于自己获取依赖对象,对象会在运行期赋予它们所依赖的对象。依赖对象通常会通过接口了解所注入的对象,这样的话就能确保低耦合。 AOP可以帮助应用将散落在各处的逻辑汇集于一处——切面。当Spring装配bean的时...原创 2019-03-23 14:32:05 · 137 阅读 · 0 评论