代码改变世界

也谈分层

2011-09-30 10:05 by javaspring, 209 阅读, 0 推荐, 收藏, 编辑
摘要:最近在网上看了很多关于架构的文章,比较流行的是三层架构。我也来凑个热闹,跟着扯一扯分层。我们从大处往小处说,先说,什么是架构?架构是一系列相关的抽象模式,用于指导大型软件系统各方面的设计。它描述一个软件系统从整体到部分的最高层次的抽象划分。直接认为架构就是系统草图也不为过。根据我们关注的角度不同,架构大概有三种:1、逻辑架构,主要描述软件系统中元件之间的关系,例如用户界面,数据库,业务逻辑元件等等2、物理架构,主要描述软件元件是如何安装到硬件上的。3、系统架构,主要描述系统的非功能性特征,如可扩展性、可靠性、强壮性、灵活性、性能等。可以看到,系统架构师必须具备软件和硬件两方面的过硬能力,还得有 阅读全文

抽象工厂模式(Abstract Factory)

2011-09-29 21:38 by javaspring, 301 阅读, 0 推荐, 收藏, 编辑
摘要:一、概要 抽象工厂模式(Abstract Factory),提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。抽象工厂模式提供一种“封装机制”用来解决“多系列具体对象”的创建工作,降低客户端和“创建工作”的紧耦合度。二、生活中的例子 例如一个汽车工厂(抽象工厂),拥有四个下属汽车工厂(具体工厂),分别是生产轿车,越野车,客车,每个工厂都要有生产各自类型汽车配件的车间(方法)。 考虑到开闭原则,增加新车型工厂容易,增加新型配件不容易。图示:三、实现思路 当有多个抽象产品,且每个抽象产品都有多于一个的具体子类的时候,而抽象工厂角色又提供多个具体的工厂角色,分别对应多个具体的产品角 阅读全文

NYOJ 420 二分法

2011-09-28 18:56 by javaspring, 147 阅读, 0 推荐, 收藏, 编辑
摘要:二分法的应用,,,题目:一个很简单的问题,求1^p+2^p+3^p+……+n^p的和。输入第一行单独一个数字t表示测试数据组数。接下来会有t行数字,每行包括两个数字n,p,输入保证0<n<=1000,0<=p<=1000。输出输出1^p+2^p+3^p+……+n^p对10003取余的结果,每个结果单独占一行。样例输入2 10 1 10 2 样例输出55 385ac代码:#include <iostream> #include <string.h> #include <string> #include <cmath> #in 阅读全文

杭电 OJ Color the ball 树状数组

2011-09-28 14:27 by javaspring, 230 阅读, 0 推荐, 收藏, 编辑
摘要:一道简单的树状数组的题,不过用cin和cout TLE,用printf和scanf 竟然只用了600多ms,这倒是让我意外了。。。题目:N个气球排成一排,从左到右依次编号为1,2,3....N.每次给定2个整数a b(a <= b),lele便为骑上他的“小飞鸽"牌电动车从气球a开始到气球b依次给每个气球涂一次颜色。但是N次以后lele已经忘记了第I个气球已经涂过几次颜色了,你能帮他算出每个气球被涂过几次颜色吗?Input每个测试实例第一行为一个整数N,(N <= 100000).接下来的N行,每行包括2个整数a b(1 <= a <= b <= N)。 阅读全文

杭电OJ 敌兵布阵 树状数组

2011-09-28 12:57 by javaspring, 240 阅读, 0 推荐, 收藏, 编辑
摘要:是一道简单的树状数组的题,,是一道简单题。。。。。题目:C国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了。A国在海岸线沿直线布置了N个工兵营地,Derek和Tidy的任务就是要监视这些工兵营地的活动情况。由于采取了某种先进的监测手段,所以每个工兵营地的人数C国都掌握的一清二楚,每个工兵营地的人数都有可能发生变动,可能增加或减少若干人手,但这些都逃不过C国的监视。中央情报局要研究敌人究竟演习什么战术,所以Tidy要随时向Derek汇报某一段连续的工兵营地一共有多少人,例如Derek问:“Tidy,马上汇报第3个营地到第10个营地共有多少人!... 阅读全文

杭电oj 1541 树状数组

2011-09-28 11:25 by javaspring, 175 阅读, 0 推荐, 收藏, 编辑
摘要:暑假时和xd讨论过这道题,当时迷迷糊糊的做了出来,昨天做专题练习时,怎么也想不出来怎么和树状数组联系起来。昨天想了有几个小时,今天又想了想,终于想了出来。自己感觉这是一道树状数组的好题,也是有一定难度的。题目:Astronomers often examine star maps where stars are represented by points on a plane and each star has Cartesian coordinates. Let the level of a star be an amount of the stars that are not hi... 阅读全文

NYOJ 413 月赛的悲剧

2011-09-27 15:31 by javaspring, 167 阅读, 0 推荐, 收藏, 编辑
摘要:话说这道题是月赛时的第一题,想这道题至少想了一个半小时,当时的基本思路已经想出来了,就有一个地方一直实现不了,于是就一直在想,悲剧的是,最后还是没能实现。更悲剧的是,最后一个半小时,一次也没提交。。昨天又想了想,还是卡在了那个地方,刚才突然灵光一现,,,,想了出来,,不容易啊。。。。题目:A single positive integer i is given. Write a program to find the digit located in the position i in the sequence of number groups S1S2...Sk. Each group S. 阅读全文

NYoj 416 数论的一个小知识

2011-09-26 10:59 by javaspring, 162 阅读, 0 推荐, 收藏, 编辑
摘要:话说这道题是昨天月赛的题目,是一个简单的数论题。可悲的是,当时竟然不知道这个结论,比赛过后,才知道这道题有多么的水。昨天的比赛,那就是一个悲剧。剩下一个半小时左右,连一次也没提交。。。。。。。悲催。。。。题目:Ten mathematicians are flying on a balloon over the Pacific ocean. When they are crossing the equator they decide to celebrate this event and open a bottle of champagne. Unfortunately, the cork . 阅读全文

工厂方法模式(Factory Method)

2011-09-25 07:45 by javaspring, 215 阅读, 0 推荐, 收藏, 编辑
摘要:一、概要 工厂方法(FactoryMethod)模式的意义是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。二、生活中的例子 例如移动电信运营商,不同的话费套餐形式,如动感地带,神州行,全球通等。我们可以把抽象工厂(套餐工厂)做成一个接口,这个接口只有一个方法,就是创建抽象产品(计费类)的工厂方法。然后所有的要生产具体类(动感地带,神州行等)的工厂去实现这个接口,由具体的套餐工厂去创建具体的套餐类。于是我们再增加新的套餐的时候,就不需要更改原有的工厂类,只需要增加此功能的计费类和相应的工厂类就可以了。图示:三、实现思路 工厂方法模式是对简单工厂模式进行了抽象。有一个抽象的Fact 阅读全文

数论之求欧拉函数

2011-09-24 09:10 by javaspring, 213 阅读, 0 推荐, 收藏, 编辑
摘要:简单的求欧拉函数的值,留下来做个模板。。。。。。。。。。题目:Given n, a positive integer, how many positive integers less than n are relatively prime to n? Two integers a and b are relatively prime if there are no integers x > 1, y > 0, z > 0 such that a = xy and b = xz.InputThere are several test cases. For each test c 阅读全文
上一页 1 ··· 51 52 53 54 55 56 57 58 59 ··· 63 下一页