关系逻辑

小议领域模型(Domain Model)

冷暖自知 提交于 2019-12-20 06:22:30
(同步自 http://www.blogjava.net/AndersLin/archive/2006/06/15/53086.html ) <<Domain Driven Design>> 和<< Patterns of Enterprise Application Architecture >>,令Domain 这个词很火,也引起了广泛争论。我这里也乱谈一把。 什么是领域模型(Domain Model) 我以为Domain分两个含义:Domain Object和Domain Service。那么什么样的系统是面向Domain的系统,一个Domain Object和普通的符合OO原则的对象有什么区别;一个Domain Service和普通的Facade或者Manager对象有什么区别。 概念上,一个Domain Object和普通的符合OO原则的对象有声明区别:Domain Object是业务意义上,承载了业务数据(我据此认为所有Domain Object是有状态对象),从本质上说它直接来源于现实世界,没有技术层次上的考虑,“符合OO原则的对象”是用OO方法分析得到的,是基于计算机领域技术的(这样的对象可以是无状态的);但反过来,符合OO的对象不一定反应DOMAIN 的OBJECT。 技术上,Domain Object是指那些包含需要被 透明持久化的属性 ,以及 相关业务逻辑

linux 网桥的配置与实现

陌路散爱 提交于 2019-12-20 04:05:37
================================================================================== from: http://www.ibm.com/developerworks/cn/linux/kernel/l-netbr/index.html ALinux网桥的实现分析与使用 文档选项 未显示需要 JavaScript 的文档选项 打印本页 将此页作为电子邮件发送 级别: 初级 祝顺民 ( [email=getmoon@163.com?subject=ALinux%E7%BD%91%E6%A1%A5%E7%9A%84%E5%AE%9E%E7%8E%B0%E5%88%86%E6%9E%90%E4%B8%8E%E4%BD%BF%E7%94%A8&cc=]getmoon@163.com[/email] ) XML error: Please enter a value for the author element's jobtitle attribute, or the company-name element, or both. 2004 年 3 月 09 日 本 文分析了linux 2.4.x内核的网桥的实现方法,并且描述了如何使用2.4中的网桥。网桥,类似于中继器,连接局域网中两个或者多个网段

python基础

假装没事ソ 提交于 2019-12-19 13:01:43
/*--> */ /*--> */ python 常量与变量 1、常量的概念 2、常量的应用 3、什么是变量 4、赋值 5、变量的应用 Python的常量主要是指在程序运行的过程中不可变的量, python的变量主要是指在程序执行的过程中可以改变的量。 #常量的概念 1、 python中在程序运行时不会被更改的量称之为常量,比如数字 7和字符串“ abc”在运行时一直都是数字 7跟字符串“ abc”,不会更改成其他的量,这就是常量,除此之外,还可以定义任意的字符串为制定值的常量。 常量有一个特点,就是:一旦绑定,不能更改 #常量的应用 2、在 python中是不能够像 php等其他编程语言一样通过 const来定义常量的,在 python中定义常量需要用对象的方法来创建 #什么是变量 3、 python中在程序运行时可以随着程序的运行更改的量称之为变量,比如我们可以定义一个量 i,并将数字 5赋给变量 i,然后再将数字 7在赋给变量 i,那么这个时候 i的值就变成了 7, i的值是可以改变的。那么像 i这种可以改变的值的量称之为变量。 变量有一个特点,就是:即使赋值,也可以更改。 #什么是赋值 4 、 例: I=7 #i不是等于 7,而是 7赋值给变量 i,这时候 i的值为 7 Print I # 打印结果就是7 #变量的应用 5、因为变量可以随着程序的运行而改变

9102年了,再谈屏幕适配!

隐身守侯 提交于 2019-12-19 11:44:25
前言 众所周知,Android授权的厂商不计其数,生产出的机型也数不胜数,导致尺寸碎片化很严重。 当然,都9102年了,大家逐渐得到了最优解,国内主流机型基本上都在720、1080、1440徘徊,最多高度上各有所长,但是还是保留着不少其他分辨率的手机,先来看一组数据(来源:友盟) 如图所证上述结论的正确性,但是可以看到,每年都有比例不小的其他尺寸的手机占据着市场份额,更何况那些还在服役的古董机器。我相信,这部分用户群是不可能被产品经理所割舍的。 为了解决这个问题,我们当然可以: 善于使用RelativeLayout、Linearlayout、ConstraintLayout; 合理使用wrap_content、match_content; 使用minHeight、minWidth、lines、ellipsize等等属性; 使用dp、sp单位; 以某个页面为单位针对不同的手机使用不同的布局、图片、dimen; 但是我想说,以上种种,只是一个Android开发应该具备的基本素质。 也许有人会问,这些还不够吗?而且dp、sp不已经是官方适配过了的单位吗?下面我们就来逐步剖析。 为什么官方需要使用设备独立像素适配 设备独立像素(dp、sp),又叫逻辑像素,是一种用缩放因子(scale)计算出来的、和像素有一定的换算比例的、不受设备分辨率和密度(ppi)制约的尺寸单位。 那么什么是分辨率

python3 异常处理

浪子不回头ぞ 提交于 2019-12-19 11:36:18
1.异常和错误 1.1 语法错误 #语法错误示范一 if #语法错误示范二 def test: pass #语法错误示范三 print(haha 1.2 逻辑错误 #用户输入不完整(比如输入为空)或者输入非法(输入不是数字) num=input(">>: ") int(num) #无法完成计算 res1=1/0 res2=1+'str' 2.python中异常种类 AttributeError 试图访问一个对象没有的属性,比如foo.x,但是foo没有属性x IOError 输入/输出异常;基本上是无法打开文件 ImportError 无法引入模块或包;基本上是路径问题或名称错误 IndentationError 语法错误(的子类) ;代码没有正确对齐 IndexError 下标索引超出序列边界,比如当x只有三个元素,却试图访问x[5] KeyError 试图访问字典里不存在的键 KeyboardInterrupt Ctrl+C被按下 NameError 尝试访问一个没有申明的变量 SyntaxError Python代码非法,代码不能编译(个人认为这是语法错误,写错了) TypeError 传入对象类型与要求的不符合 UnboundLocalError 试图访问一个还未被设置的局部变量,基本上是由于另有一个同名的全局变量,导致你以为正在访问它 ValueError

模糊逻辑

余生颓废 提交于 2019-12-19 09:47:25
模糊逻辑 编辑 本词条缺少信息栏,补充相关内容使词条更完整,还能快速升级,赶紧来 编辑 吧! 模糊逻辑是建立在 多值逻辑 基础上,运用模糊集合的方法来研究 模糊性 思维、语言形式及其规律的科学。 目录 1 简介 ▪ 基本内容 ▪ 历史发展 ▪ 基本理论 2 应用 3 编程语言 4 其他例子 简介 编辑 基本内容 模糊逻辑指模仿人脑的不确定性概念判断、推理思维方式,对于模型未知或不能确定的描述系统,以及强非线性、大滞后的控制对象,应用模糊集合和模糊规则进行推理,表达过渡性界限或定性知识经验,模拟人脑方式,实行模糊综合判断,推理解决常规方法难于对付的规则型模糊信息问题。模糊逻辑善于表达界限不清晰的定性知识与经验,它借助于 隶属度函数 概念,区分 模糊集合 ,处理模糊关系,模拟人脑实施规则型推理,解决因“排中律”的逻辑破缺产生的种种不确定问题 。 历史发展 1965年美国数学家L. Zadeh首先提出了Fuzzy集合的概念,标志着Fuzzy数学的诞生。建立在二值逻辑基础上的原有的逻辑与数学难以描述和处理现实世界中许多 模糊性 的对象。Fuzzy数学与Fuzzy逻辑实质上是要对模糊性对象进行精确的描述和处理。L. Zadeh为了建立模糊性对象的数学模型,把只取0和1二值的普通集合概念推广为在[0,1]区间上取无穷多值的模糊集合概念,并用“隶属度”这一概念来精确地刻画元素与模糊集合之间的关系

9102年了,再谈屏幕适配!

不打扰是莪最后的温柔 提交于 2019-12-19 08:58:54
前言 众所周知,Android授权的厂商不计其数,生产出的机型也数不胜数,导致尺寸碎片化很严重。 当然,都9102年了,大家逐渐得到了最优解,国内主流机型基本上都在720、1080、1440徘徊,最多高度上各有所长,但是还是保留着不少其他分辨率的手机,先来看一组数据(来源:友盟) 如图所证上述结论的正确性,但是可以看到,每年都有比例不小的其他尺寸的手机占据着市场份额,更何况那些还在服役的古董机器。我相信,这部分用户群是不可能被产品经理所割舍的。 为了解决这个问题,我们当然可以: 善于使用RelativeLayout、Linearlayout、ConstraintLayout; 合理使用wrap_content、match_content; 使用minHeight、minWidth、lines、ellipsize等等属性; 使用dp、sp单位; 以某个页面为单位针对不同的手机使用不同的布局、图片、dimen; 但是我想说,以上种种,只是一个Android开发应该具备的基本素质。 也许有人会问,这些还不够吗?而且dp、sp不已经是官方适配过了的单位吗?下面我们就来逐步剖析。 为什么官方需要使用设备独立像素适配 设备独立像素(dp、sp),又叫逻辑像素,是一种用缩放因子(scale)计算出来的、和像素有一定的换算比例的、不受设备分辨率和密度(ppi)制约的尺寸单位。 那么什么是分辨率

架构设计三部曲之如何评审架构设计说明书

喜欢而已 提交于 2019-12-19 05:33:50
自从5月8号写完架构设计三部曲的第一部 如何写架构设计说明书 ,到现在快20多天了,这段时间主要准备了下系统分析师的考试,当然还有各种工作上的杂事,于是也就拖到现在写第二部如何评审架构设计说明书。当然这个是从评审的角度来看的,其实从编制架构设计说明书的角度来看,也可以阐述具体如何编写架构设计说明书,就像高考作文一样,评审总是有些采分点的嘛,那么对于编制架构设计说明书来说,哪些是我们应该准备的采分点呢?我们在编制的过程中需要重点注意哪些章节的哪些内容呢?这就是我接下来想和大家分享的。 根据第一部文章我们知道一篇架构设计说明书大致章节应该是这样的: 文档概述:包含项目背景、项目目标、文档版本信息、目标读者、参考文档、名词解释之类的一般文档都会有的章节; 整体架构:主要从整个IT层描述系统所处的位置,与周边关联系统之间的调用关系; 逻辑架构:系统内部功能模块的划分以及各模块功能介绍、相互之间的关系表述; 接口设计:包括系统间的接口设计以及内部功能模块之间的接口设计; 数据架构:本系统与上下游系统间的数据流关系,以及本系统关键数据表设计、数据管理策略等; 技术架构:实施此架构需要用到哪些技术能力,有哪些复用能力及风险; 部署架构:系统如何部署,网络拓扑上有何要求,对硬件服务器有何要求,需要几台,是否需要优化服务器参数; 非功能性设计:性能、高可用、可扩展性、可维护、安全性、可移植性等。

2019_12_18 Summary(revised)

混江龙づ霸主 提交于 2019-12-19 01:31:03
编程模式 计算机语言解决问题的模式 过程式编程模式 面向过程编程模式 函数式编程模式 说明式编程模式 高级编程语言介绍 高级语言(High-level programming language)相对于机器语言(machine language)是一种指令集的体系。在这种语言下,其语法和结构更类似汉字或者普通英文,且由于远离对硬件的直接操作,使得一般人更容易学习。高级语言通常按其基本类型、代系、实现方式、应用范围等分类。 高级语言有一下几种分类: BASIC语言 PASCAL语言 C语言 C++语言 Java语言 Ada语言 Logo语言 脚本语言 并行程序设计 并行程序设计语言 语言名称 注释 Concurrent Pascal Pascal语言的拓展 Ada 全新的编程语言 Modula-P Modula2语言的拓展 C ∗ C^* C ∗ C语言针对SIMD系统的扩展 Concurrent C C语言扩展 Fortran D Fortran语言针对数据并行化语言的拓展 并行程序设计语言的编译过程 计算机中的数据 数据 数据的定义 数据就是用文字, 数字, 图形, 图像, 声音等方式对人, 事件, 事物等进行的描述.在计算机科学中, 数据是指所有能输入计算机并能被计算机程序处理的符号的总称, 数字, 文本, 音频, 图形, 图像和视频等统称为数据. 数据和信息的区别

如何使错误日志更加方便排查问题

旧街凉风 提交于 2019-12-18 04:01:04
在程序中打错误日志的主要目标是为更好地排查问题和解决问题提供重要线索和指导。但是在实际中打的错误日志内容和格式变化多样,错误提示上可能残缺不全、没有相关背景、不明其义,使得排查解决问题成为非常不方便或者耗时的操作。而实际上,如果编程的时候稍加用心,就会减少排查问题的很多无用功。 在阐述如何编写有效的错误日志之前, 了解错误是怎么产生的, 非常重要。 错误是如何炼成的 对于当前系统来说, 错误的产生由三个地方引入: 1. 上层系统引入的非法参数。 对于非法参数引入的错误, 可以通过参数校验和前置条件校验来截获错误; 2. 与下层系统交互产生的错误。 与下层交互产生的错误, 有两种: a. 下层系统处理成功了,但是通信出错了, 这样会导致子系统之间的数据不一致; 对于这种情况, 可以采用超时补偿机制,预先将任务记录下来,通过定时任务在后续将数据订正过来。 更好的设计方案 ? b. 通信成功了,但是下层处理出错了。 对于这种情况, 需要与下层开发人员沟通, 协调子系统之间的交互; 需要根据下层返回的错误码和错误描述做适当的处理或给予合理的提示信息。 无论哪一种情况, 都要假设下层系统可靠性一般, 做好出错的设计考虑。 3. 本层系统处理出错。 本层系统产生错误的原因: 原因一: 疏忽导致。 疏忽是指程序员能力完全可避免此类错误但实际上没做到。比如将 && 敲成了 & , == 敲成了 =