
发表日期: 2021-04-25 12:37:35 浏览次数:95
宿迁网站制作【宿迁网站优化】宿迁建网站、宿迁微信公众号运营、宿迁网页设计、宿迁微信小程序商城
宿迁,简称宿,别称水城,古称下相、宿豫、钟吾等,江苏省地级市,宿迁位于长三角北翼,江苏省北部,是长三角北翼区域性综合交通枢纽, [1] 地处徐州、连云港、淮安中心地带。宿迁是江苏省沿海地区向中西部辐射的重要门户城市 [2] ,是徐州都市圈、江淮生态经济区核心城市 [3] 、一带一路节点城市 [4] 。截至2020年6月,宿迁下辖2区3县 [5] ,总面积8555平方千米。截至2019年末,宿迁户籍人口592.36万 [6] 。
宿迁是西楚霸王项羽的故乡,有着5000多年的文明史和2700多年的建城史,曾是泗水国、钟吾国、宿国都城,历史悠久,人文荟萃,素有“华夏文明之脉、江苏文明之根、淮河文明之源、楚汉文化之魂”之称 [7] 。宿迁是酒文化的发源地之一,有中国白酒之都称号 [8] ,洋河、双沟两大名酒出产于此。宿迁是典型的苏北水乡,坐拥骆马湖、洪泽湖两大淡水湖,大运河、古黄河、淮沭新河等众多河流镶嵌其间。乾隆皇帝六下江南五次驻跸于此,赞叹宿迁为“第一江山春好处” [9] 。
宿迁是首批12个社会信用体系建设示范城市 [10] ,是中国优秀旅游城市 [11] 、国家园林城市 [12] 、国家卫生城市 [13] 、全国文明城市 [8] 。2020年10月,宿迁被评为全国双拥模范城(县) [14] 。
下面向那些不熟悉UML的人解释下这个图的含义。图3-1显示了一个AddressBook对象,该对象包含一组Person对象和两个操作(AddPerson() 、DeletePerson())。其中AddressBook和Person是一对多关系。 Person对象包含一组公有的属性,用于描述联系人的姓名和地址。稍后我会改进这个设计,但是目前暂且把它作为此问题域的逻辑抽象。
UML 类图
UML规范定义了一组面向对象软件系统的可视化建模符号(Booch et al., 2005)。如图3-1所示,本文会经常使用UML类图描述类的设计。在这些图表中,类用方框表示,该方框被分割成以下三个部分:
(1) 上层区域是类名;
(2) 中层区域列出类的属性;
(3) 下层区域列出类的方法。
方框中、下层区域中的每条记录都可以添加前缀符,以此标识对应属性或方法的访问级别(或可见性)。这些标识符有:
+表示公有的(public)类成员
-表示私有的(private)类成员
表示受保护的(protected)类成员
类之间的关系可以用多种样式的连接线和箭头表示。下面列出了UML类图中可能出现的常见关系。
关联:两个类之间简单的依赖关系,二者互不从属于对方。这种关系用实线表示。关联可以带有方向,UML用开放箭头表示方向,比如“>”。
聚合:“has-a”关系,或者整体与部分的关系,两个类互不从属于对方。用带有空心菱形的直线表示。
组合:“contains-a”关系,部分和整体具有统一的生存期。用带有实心菱形的直线表示。
泛化:类之间的父子关系,用带空心三角箭头的直线表示。
对象间的各种关系可以在某个对象边用注释定义,这样就能分辨出它们的关系是一对一、一对多还是多对多。一些常见的关系有:
0..1 表示零个或一个实例
1 表示只有一个实例
0..* 表示零个或多个实例
1..* 表示一个或多个实例
API同样需要对问题域的关键对象建模。该过程旨在描述特定问题域中对象的层次结构,因此经常被称作“面向对象设计”或者“对象建模”。对象建模的目的是确定主要对象的集合,这些对象提供的操作以及对象之间的关系。
再次声明,对于给定的问题域,正确的对象模型不止一个。对象建模的任务应该根据API的特定需求决定。只有根据需求制定相应的对象模型,才能以最佳的方式满足这些需求。例如,前面那个地址簿的示例,假定对API有以下需求。
(1) 每个联系人可能有多个地址。
(2) 每个联系人可能有多个电话号码。
(3) 电话号码可以验证并格式化。
(4) 地址簿可能包含多个同名的联系人。
(5) 已经存在的地址簿条目可以修改。
这些需求将会对该API的对象模型产生巨大影响。在图3-1的原始设计中,一个联系人只能有一个地址 。为了满足多个地址的需求,可以为Person对象添加新的属性(如HomeAddress1、WorkAddress1),但这个方法既不健壮也不优雅。另一种方法是引入一个新对象(如Address)表示地址,同时允许一个Person对象包含多个Address对象。
电话号码亦是如此。单独创建电话号码对象(如TelephoneNumber),同时允许Person对象拥有多个这样的对象。创建独立的TelephoneNumber对象的另一个理由是,我们需要支持像IsValid()这样的操作验证号码是否有效,支持像GetFormattedNumber()这样的操作返回格式化的电话号码。很自然,这些操作都针对电话号码而非针对联系人,所以电话号码应该设计成一个独立的对象。
“多个People对象可能拥有相同名字”的需求意味着,姓名并不能唯一确定Person对象的实例。因此,需要某种方法唯一确定一个Person实例,以保证能够定位并更新地址簿中已有的条目。满足此需求的一个简便做法是为每个联系人生成一个全局唯一标识(UUID)。综上所述,下面列出地址簿API的关键对象。

服务热线
顶部
备案号: 苏ICP备11067224号
CopyRight © 2011 书生商友信息科技 All Right Reserved
24小时服务热线:400-111-6878 E-MAIL:1120768800@qq.com QQ:1120768800
网址: http://www.768800.com 网站建设:上往建站
关键词: 网站建设| 域名邮箱| 服务器空间| 网站推广| 上往建站| 网站制作| 网站设计| 域名注册| 网络营销| 网站维护|
企业邮箱| 虚拟主机| 网络建站| 网站服务| 网页设计| 网店美工设计| 网站定制| 企业建站| 网站设计制作| 网页制作公司|
400电话办理| 书生商友软件| 葬花网| 调温纤维| 海洋馆运营维护| 北京保安公司| 殡仪馆服务| 殡葬服务| 苏州殡葬一条龙| 朝阳殡葬| 苏州殡葬服务|
欢迎您免费咨询,请填写以下信息,我们收到后会尽快与您联系
服务热线:400-111-6878