晋安福州网站建设餐饮业网站建设招标书

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

晋安福州网站建设,餐饮业网站建设招标书,建设银行官网首页网站首页,深圳高端设计公司目录 管理类命名 传播类命名 回调类命名 监控类命名 内存管理类命名 过滤检测类命名 结构类命名 常见设计模式命名 解析类命名 网络类命名 CRUD命名 其他 End 管理类命名 写代码#xff0c;少不了对统一资源的管理#xff0c;清晰的启动过程可以有效的组织代码…目录 管理类命名 传播类命名 回调类命名 监控类命名 内存管理类命名 过滤检测类命名 结构类命名 常见设计模式命名 解析类命名 网络类命名 CRUD命名 其他 End 管理类命名 写代码少不了对统一资源的管理清晰的启动过程可以有效的组织代码。为了让程序运行起来少不了各种资源的注册、调度少不了公共集合资源的管理。 BootstrapStarter 一般作为程序启动器使用或者作为启动器的基类。通俗来说可以认为是main函数的入口。 AbstractBootstrap ServerBootstrap MacosXApplicationStarter DNSTaskStarterProcessor 某一类功能的处理器用来表示某个处理过程是一系列代码片段的集合。如果你不知道一些顺序类的代码怎么命名就可以使用它显得高大上一些。 CompoundProcessor BinaryComparisonProcessor DefaultDefaultValueProcessorManager 对有生命状态的对象进行管理通常作为某一类资源的管理入口。 AccountManager DevicePolicyManager TransactionManagerHolder 表示持有某个或者某类对象的引用并可以对其进行统一管理。多见于不好回收的内存统一处理或者一些全局集合容器的缓存。 QueryHolder InstructionHolder ViewHolderFactory 毫无疑问工厂模式的命名耳熟能详。尤其是Spring中多不胜数。 SessionFactory ScriptEngineFactory LiveCaptureFactoryProvider Provider Strategy Factory Method。它更高级一些把策略模式和方法工厂揉在了一块让人用起来很顺手。Provider一般是接口或者抽象类以便能够完成子实现。 AccountFeatureProvider ApplicationFeatureProviderImpl CollatorProviderRegistrar 注册并管理一系列资源。 ImportServiceRegistrar IKryoRegistrar PipelineOptionsRegistrarEngine 一般是核心模块用来处理一类功能。引擎是个非常高级的名词一般的类是没有资格用它的。 ScriptEngine DataQLScriptEngine C2DEngineService 某个服务。太简单不忍举例。范围太广不要滥用哦。 IntegratorServiceImpl ISelectionService PersistenceServiceTask 某个任务。通常是个runnable WorkflowTask FutureTask ForkJoinTask传播类命名 为了完成一些统计类或者全局类的功能有些参数需要一传到底。传播类的对象就可以通过统一封装的方式进行传递并在合适的地方进行拷贝或者更新。 Context 如果你的程序执行有一些变量需要从函数执行的入口开始一直传到大量子函数执行完毕之后。这些变量或者集合如果以参数的形式传递将会让代码变得冗长无比。这个时候你就可以把变量统一塞到Context里面以单个对象的形式进行传递。 在Java中由于ThreadLocal的存在Context甚至可以不用在参数之间进行传递。 AppContext ServletContext ApplicationContextPropagator 传播繁殖。用来将context中传递的值进行复制添加清除重置检索恢复等动作。通常它会提供一个叫做propagate的方法实现真正的变量管理。 TextMapPropagator FilePropagator TransactionPropagator回调类命名 使用多核可以增加程序运行的效率不可避免的引入异步化。我们需要有一定的手段获取异步任务执行的结果对任务执行过程中的关键点进行检查。回调类API可以通过监听、通知等形式获取这些事件。 HandlerCallbackTriggerListener callback通常是一个接口用于响应某类消息进行后续处理Handler通常表示持有真正消息处理逻辑的对象它是有状态的tigger触发器代表某类事件的处理属于Handler通常不会出现在类的命名中Listener的应用更加局限通常在观察者模式中用来表示特定的含义。 ChannelHandler SuccessCallback CronTrigger EventListenerAware Aware就是感知的意思一般以该单词结尾的类都实现了Aware接口。拿spring来说Aware 的目的是为了让bean获取spring容器的服务。具体回调方法由子类实现比如ApplicationContextAware。它有点回调的意思。 ApplicationContextAware ApplicationStartupAware ApplicationEventPublisherAware监控类命名 现在的程序都比较复杂运行状态监控已经成为居家必备之良品。监控数据的收集往往需要侵入到程序的边边角角如何有效的与正常业务进行区分是非常有必要的。 Metric 表示监控数据。不要用Monitor了比较丑。 TimelineMetric HistogramMetric MetricEstimator 估计统计。用于计算某一类统计数值的计算器。 ConditionalDensityEstimator FixedFrameRateEstimator NestableLoadProfileEstimatorAccumulator 累加器的意思。用来缓存累加的中间计算结果并提供读取通道。 AbstractAccumulator StatsAccumulator TopFrequencyAccumulatorTracker 一般用于记录日志或者监控值通常用于apm中。 VelocityTracker RocketTracker MediaTracker内存管理类命名 如果你的应用用到了自定义的内存管理那么下面这些名词是绕不开的。比如Netty就实现了自己的内存管理机制。 Allocator 与存储相关通常表示内存分配器或者管理器。如果你得程序需要申请有规律得大块内存allocator是你得不二选择。 AbstractByteBufAllocator ArrayAllocator RecyclingIntBlockAllocatorChunk 表示一块内存。如果你想要对一类存储资源进行抽象并统一管理可以采用它。 EncryptedChunk ChunkFactory MultiChunkArena 英文是舞台、竞技场的意思。由于Linux把它用在内存管理上发扬光大它普遍用于各种存储资源的申请、释放与管理。为不同规格的存储chunk提供舞台好像也是非常形象的表示。 关键是这个词很美作为后缀让类名显得很漂亮。 BookingArena StandaloneArena PoolArenaPool 表示池子。内存池线程池连接池池池可用。 ConnectionPool ObjectPool MemoryPool过滤检测类命名 程序收到的事件和信息是非常多的有些是合法的有些需要过滤扔掉。根据不同的使用范围和功能性差别过滤操作也有多种形式。你会在框架类代码中发现大量这样的名词。 PipelineChain 一般用在责任链模式中。NettySpring MVCTomcat等都有大量应用。通过将某个处理过程加入到责任链的某个位置中就可以接收前面处理过程的结果强制添加或者改变某些功能。就像Linux的管道操作一样最终构造出想要的结果。 Pipeline ChildPipeline DefaultResourceTransformerChain FilterChainFilter 过滤器用来筛选某些满足条件的数据集或者在满足某些条件的时候执行一部分逻辑。如果和责任链连接起来则通常能够实现多级的过滤。 FilenameFilter AfterFirstEventTimeFilter ScanFilterInterceptor 拦截器其实和Filter差不多。不过在Tomcat中Interceptor可以拿到controller对象但filter不行。拦截器是被包裹在过滤器中。 HttpRequestInterceptorEvaluator 英文里是评估器的意思。可用于判断某些条件是否成立一般内部方法evaluate会返回bool类型。比如你传递进去一个非常复杂的对象或者字符串进行正确与否的判断。 ScriptEvaluator SubtractionExpressionEvaluator StreamEvaluatorDetector 探测器。用来管理一系列探测性事件并在发生的时候能够进行捕获和响应。比如Android的手势检测温度检测等。 FileHandlerReloadingDetector TransformGestureDetector  ScaleGestureDetector结构类命名 除了基本的数据结构如数组、链表、队列、栈等其他更高一层的常见抽象类能够大量减少大家的交流并能封装常见的变化。 Cache 这个没啥好说的就是缓存。大块的缓存。常见的缓存算法有LRU、LFU、FIFO等。 LoadingCache EhCacheCacheBuffer buffer是缓冲不同于缓存它一般用在数据写入阶段。 ByteBuffer RingBuffer DirectByteBufferComposite 将相似的组件进行组合并以相同的接口或者功能进行暴露使用者不知道这到底是一个组合体还是其他个体。 CompositeData CompositeMap ScrolledCompositeWrapper 用来包装某个对象做一些额外的处理以便增加或者去掉某些功能。 IsoBufferWrapper ResponseWrapper MavenWrapperDownloader Option, Param,Attribute 用来表示配置信息。说实话它和Properties的区别并不大但由于Option通常是一个类所以功能可以扩展的更强大一些。它通常比Config的级别更小关注的也是单个属性的值。Param一般是作为参数存在对象生成的速度要快一些。 SpecificationOption SelectOption AlarmParam ModelParamTuple 元组的概念。由于Java中缺乏元组结构我们通常会自定义这样的类。 Tuple2 Tuple3Aggregator 聚合器可以做一些聚合计算。比如分库分表中的summaxmin等聚合函数的汇集。 BigDecimalMaxAggregator PipelineAggregator TotalAggregatorIterator 迭代器。可以实现Java的迭代器接口也可以有自己的迭代方式。在数据集很大的时候需要进行深度遍历迭代器可以说是必备的。使用迭代器还可以在迭代过程中安全的删除某些元素。 BreakIterator StringCharacterIteratorBatch 某些可以批量执行的请求或者对象。 SavedObjectBatch BatchRequestLimiter 限流器使用漏桶算法或者令牌桶来完成平滑的限流。 DefaultTimepointLimiter RateLimiter TimeBasedLimiter常见设计模式命名 设计模式是名词的重灾区这里只列出最常使用的几个。 Strategy 将抽象部分与它的实现部分分离使它们都可以独立地变化。策略模式。相同接口不同实现类同一方法结果不同实现策略不同。比如一个配置文件是放在xml里还是放在json文件里都可以使用不同的provider去命名。 RemoteAddressStrategy StrategyRegistration AppStrategyAdapter 将一个类的接口转换为客户希望的另一个接口Adapter模式使得原本由于接口不兼容而不能一起工作的那些类一起工作。 不过相对于传统的适配器进行api转接如果你的某个Handler里面方法特别的多可以使用Adapter实现一些默认的方法进行0适配。那么其他类使用的时候只需要继承Adapter然后重写他想要重写的方法就可以了。这也是Adapter的常见用法。 ExtendedPropertiesAdapter ArrayObjectAdapter CardGridCursorAdapterActionCommand 将一个请求封装为一个对象从而使你可用不同的请求对客户进行参数化对请求排队或记录请求日志以及支持可撤销的操作。 用来表示一系列动作指令用来实现命令模式封装一系列动作或者功能。Action一般用在UI操作上后端框架可以无差别的使用。 在DDD的概念中CQRS的Command的C既为Command。 DeleteAction BoardCommandEvent 表示一系列事件。一般的在语义上ActionCommand等来自于主动触发Event来自于被动触发。 ObservesProtectedEvent KeyEventDelegate 代理或者委托模式。委托模式是将一件属于委托者做的事情交给另外一个被委托者来处理。 LayoutlibDelegate FragmentDelegateBuilder 将一个复杂对象的构建与它的表示分离使得同样的构建过程可以创建不同的表示。 构建者模式的标准命名。比如StringBuilder。当然StringBuffer是个另类。这也说明了规则是人定的人也可以破坏。 JsonBuilder RequestBuilderTemplate 模板方法类的命名。定义一个操作中的算法的骨架而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 JDBCTemplateProxy 代理模式。为其他对象提供一种代理以控制对这个对象的访问。 ProxyFactory  SlowQueryProxy解析类命名 写代码要涉及到大量的字符串解析、日期解析、对象转换等。根据语义和使用场合的区别它们也分为多种。 ConverterResolver 转换和解析。一般用于不同对象之间的格式转换把一类对象转换成另一类。注意它们语义上的区别一般特别复杂的转换或者有加载过程的需求可以使用Resolver。 DataSetToListConverter LayoutCommandLineConverter InitRefResolver MustacheViewResolverParser 用来表示非常复杂的解析器比如解析DSL。 SQLParser JSONParserCustomizer 用来表示对某个对象进行特别的配置。由于这些配置过程特别的复杂值得单独提取出来进行自定义设置。 ContextCustomizer DeviceFieldCustomizerFormatter 格式化类。主要用于字符串、数字或者日期的格式化处理工作。 DateFormatter StringFormatter网络类命名 网络编程的同学永远绕不过去的几个名词。 Packet 通常用于网络编程中的数据包。 DhcpPacket PacketBufferProtocol 同样用户网络编程中用来表示某个协议。 RedisProtocol HttpProtocolEncoder、Decoder、Codec 编码解码器 RedisEncoder RedisDecoder RedisCodecRequestResponse 一般用于网络请求的进和出。如果你用在非网络请求的方法上会显得很怪异。 CRUD命名 这个就有意思多了统一的ControllerServiceRepository没什么好说的。但你一旦用了DDD那就得按照DDD那一套的命名来。 由于DDD不属于通用编程范畴它的名词就不多做介绍了。 其他 UtilHelper 都表示工具类Util一般是无状态的Helper以便需要创建实例才能使用。但是一般没有使用Tool作为后缀的。 HttpUtil TestKeyFieldHelper CreationHelperModeType 看到mode这个后缀就能猜到这个类大概率是枚举。它通常把常见的可能性都列到枚举类里面其他地方就可以引用这个Mode。 OperationMode BridgeMode ActionTypeInvokerInvocation invoker是一类接口通常会以反射或者触发的方式执行一些具体的业务逻辑。通过抽象出invoke方法可以在invoke执行之前对入参进行记录或者处理在invoke执行之后对结果和异常进行处理是AOP中常见的操作方式。 MethodInvoker Invoker ConstructorInvocationInitializer 如果你的应用程序需要经过大量的初始化操作才能启动那就需要把它独立出来专门处理初始化动作。 MultiBackgroundInitialize ApplicationContextInitializerFuturePromise 它们都是用在多线程之间的进行数据传递。 Future相当于一个占位符代表一个操作将来的结果。一般通过get可以直接阻塞得到结果或者让它异步执行然后通过callback回调结果。 但如果回调中嵌入了回调呢如果层次很深就是回调地狱。Java中的CompletableFuture其实就是Promise用来解决回调地狱问题。Promise是为了让代码变得优美而存在的。 Selector 根据一系列条件获得相应的同类资源。它比较像Factory但只处理单项资源。 X509CertSelector NodeSelectorReporter 用来汇报某些执行结果。 ExtentHtmlReporter MetricReporterConstants 一般用于常量列表。 Accessor 封装了一系列get和set方法的类。像lombok就有Accessors注解生成这些方法。但Accessor类一般是要通过计算来完成get和set而不是直接操作变量。这适合比较复杂的对象存取服务。 ComponentAccessor StompHeaderAccessorGenerator 生成器一般用于生成代码生成id等。 CodeGenerator CipherKeyGeneratorEnd 写代码看源码怎么少得了意会和神通代码要带感命名也风骚。命名起的好代码会看起来很爽大家也都喜欢。 说不清楚的事情给一段代码咱就能懂就是这么神奇 其实写专业牛b的代码并不需要了解太多的英文单词大多数时候用不着英文4级这么了不起的水平。只需要有限的单词就能玩出代码界好莱坞的感觉。 看完本文之后翻一翻开源软件的代码们看看是不是这个理 上面这些命名高频率存在于各种框架中。你要是搞懂了这些名词阅读大部分源代码可以说是一点障碍都没有了。在同一个场景下优先使用这些名词已经是大家心照不宣的规范。 有很多名词来自于设计模式但又在特定场合使用了比较特殊的单词比如Provider大家仔细感受下其中的区别就可以了。 命名是编码中非常重要的一环希望大家找到其中的规律让你的代码功能上强大颜值上好看祝大家的薪资水涨船高配得上你的这份专业和工匠精神。