自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

JAVA之迷

大家好,欢迎来到我的博客!用你的眼睛发现程序的美

  • 博客(186)
  • 资源 (1)
  • 收藏
  • 关注

原创 Spring 框架的优点及缺点

首先Spring 是一个框架,使用Spring并不代表代码质量的提高,就像盖房子选择用上海的地皮还是北京的地皮一样,房子质量与土地所在的城市无关,与房子的具体设计方案和选料有关。使用Spring 等框架可以简化很多基础性的工作,配置好后可以方便构建业务应用。框架使用多了会有局限的感觉,像小鸟被套在笼子里,无法飞出去,虽然在笼子里面吃喝不愁。目前编程的门槛越来越低,诸多开源框架广泛传播,

2014-04-30 16:36:21 8562 3

原创 IBATIS的优缺点

ibatis优缺点总结 Java代码  1.优点  简单:   易于学习,易于使用,通过文档和源代码,可以比较完全的掌握它的设计思路和实现。    实用:   提供了数据映射功能,提供了对底层数据访问的封装(例如ado.net),提供了DAO框架,可以使我们更容易的开发和配置我们的DAO层。     灵活:   通过sql基本上可以实

2014-04-30 16:35:04 2426

原创 Hibernate优缺点

Hibernate: 优点: 1: hibernate是基于ORMapping技术的开源的框架,对JDBC进行了轻量级的封装,使用面向对象的思维来操纵数据库。 2:hibernate提供了session缓存和二级缓存,对于不需要进行复杂查询的系统,性能有提升。 3:低侵入式设计 缺点: 1:hibernate学习成本太高。 2:不适合有复杂的sql查询(统计) 。 

2014-04-30 16:33:25 1506

原创 Struts优缺点

跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点。使开发者能更深入的了解其内部实现机制。Struts开放源码框架的创建是为了使开发者在构建基于Java Servlet和JavaServer Pages(JSP)技术的Web应用时更加容易。Struts框架为开放者提供了一个统一的标准框架,通过使用Struts作为基础,开发者能够更专注于应用程序的

2014-04-30 16:32:42 750

原创 mvc原理和mvc模式的优缺点

一、mvc原理   mvc是一种程序开发设计模式,它实现了显示模块与功能模块的分离。提高了程序的可维护性、可移植性、可扩展性与可重用性,降低了程序的开发难度。它主要分模型、视图、控制器三层。 1、模型(model)它是应用程序的主体部分,主要包括业务逻辑模块(web项目中的Action,dao类)和数据模块(pojo类)。模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型

2014-04-30 16:31:48 812

原创 MVC 优缺点

大部分用过程语言比如ASP、PHP开发出来的Web应用,初始的开发模板就是混合层的数据编程。例如,直接向数据库发送请求并用HTML显示,开发速度往往比较快,但由于数据页面的分离不是很直接,因而很难体现出业务模型的样子或者模型的重用性。产品设计弹性力度很小,很难满足用户的变化性需求。MVC要求对应用分层,虽然要花费额外的工作,但产品的结构清晰,产品的应用通过模型可以得到更好地体现。   首先,最

2014-04-30 16:31:00 623

原创 ssh优缺点

面试归来技术面试官叫我谈谈 ssh优缺点平时用起来倒是挺顺手..但是从来没有系统的总结过..导致很多点会都没有说出来..这次我认真总结了一下...常说的好处 开源常说的坏处 配置文件过大我就不提了struts 优点:          收集,验证表单数据相比传统servlet简单          优雅的实现可配置的请求转发

2014-04-30 16:30:17 2425

原创 spring的优缺点

它是一个开源的项目,而且目前非常活跃;它基于IoC(Inversion of Control,反向控制)和AOP的构架多层j2ee系统的框架,但它不强迫你必须在每一层 中必须使用Spring,因为它模块化的很好,允许你根据自己的需要选择使用它的某一个模块;它实现了很优雅的MVC,对不同的数据访问技术提供了统一的 接口,采用IoC使得可以很容易的实现bean的装配,提供了简洁的AOP

2014-04-30 16:28:39 1024

原创 Struts2,Spring,Hibernate优缺点

Struts2,Spring,Hibernate优缺点博客分类: ssh整合HibernateSpringStruts框架JDBC struts框架具有组件的模块化,灵活性和重用性的优点,同时简化了基于MVC的web应用程序的开发。优点:Struts跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点。使开发者能更深

2014-04-30 16:27:39 665

原创 OOP的基本原则

OOP的基本原则http://www.cnblogs.com/yeagen/archive/2011/09/05/2167205.html

2014-04-30 16:21:46 890

原创 DDD中直接引用和ID关联的关系

聚合根到聚合根:通过ID关联;聚合根到其内部的实体,直接引用;聚合根到值对象,直接引用;实体到聚合根: 通过ID关联 ;实体到其聚合的聚合根:1对1ID关联,1对多可直接引用 ;实体到其聚合内的实体:直接引用,但不要循环引用;实体到其聚合外的实体:不可能有这种情况,因为实体都是在聚合内部的,对外不可见;实体到任何值对象:直接引用;值对

2014-04-30 16:19:53 2215

原创 ValueObject的理解

思考ValueObject应该更多从内存的角度思考,而非DB持久化的角度。例如: public class A { public int Id { get; set; } public Address A_Address { get; set; } } public class B {

2014-04-30 16:19:28 3934

原创 领域驱动设计

领域中的分层模式(LAYERED ARCHITECTURE)依次分为用户界面层,应用层,领域层,基础设施层  各层主要任务用户界面层:想用户显示信息和解释用户指令。应用层:定义软件要完成的任务,并指挥表达领域概念的对象来解决问题。应用层应尽量简单,不包含业务规则或知识,而只是为下一层中的领域对象协调任务,分配工作,屎他们相互合作。他没有反映业务情况的状态,但是却可以具有另外一种状态,为

2014-04-30 16:18:53 1735

原创 状态模式的例子

1,状态模式允许一个"对象"在其内部状态改变的时候改变其行为。2,状态模式的角色:抽象状态,具体状态(一般是几个,每一个状态下有不同的行为,),环境(context)角色(就是对象,什么对象的状态,一般该对象要初始化一个状态,还有改变状态,还有该状态下的行为)我们打篮球的时候运动员可以有正常状态,不正常状态,和超常状态,现在我们就以我们打篮球时候投篮时候的状态来举例子,

2014-04-30 16:18:16 771

原创 策略模式与命令模式的区别 是什么?

策略模式 把易于变化的行为分别封装起来,让它们之间可以互相替换, 让这些行为的变化独立于拥有这些行为的客户。  GoF《设计模式》中说道:定义一系列算法,把它们一个个封装起来,并且使它们可以相互替换。该模式使得算法可独立于它们的客户变化。Command命令模式是一种对象行为型模式,它主要解决的问题是:在软件构建过程中,“行为请求者”与“行为实现者”通常呈现一种“紧耦合”

2014-04-30 16:17:38 2613

原创 简单工厂、工厂方法和抽象工厂的学习笔记

简单工厂理解:简单工厂模式的工厂类一般是使用静态方法,通过接收的参数不同来返回不同的对象的实例,不修改代码的话,是无法扩展的。 先定义产品类,它们需要实现同一接口或继承自同一抽象类。    //产品接口(或抽象类)    public interface IClassDo    {        void doSomething();

2014-04-30 16:16:57 645

原创 简单工厂,Factory Method(工厂方法)和Abstract Factory(抽象工厂)模式

对于简单工厂来说,它的工厂只能是这个样子的public class SimplyFactory { /*** 静态工厂方法*/public static Prouct factory(String which) throw NoSuchProductExcption{    if(which.equalIgnoreCase("product1")) 

2014-04-30 16:16:07 569

原创 单一职责原则,开-闭原则,依赖倒置原则

《大话设计模式》连续三章讲述了三个原则,把这些重要语录摘抄下来,供我日后好好理解。 单一职责原则(Simple Response Principle):就一个类而言,应该仅有一个引起他变化的原因。当一个类承担了过多的职责,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其它职责的能力。这种耦合会导致脆弱的设计,当设计变化时,设计会遭受到意想

2014-04-30 16:15:17 770

原创 我对面向对象设计的理解——Java接口和Java抽象类

在没有好好地研习面向对象设计的设计模式之前,我对Java接口和Java抽象类的认识还是很模糊,很不可理解。刚学Java语言时,就很难理解为什么要有接口这个概念,虽说是可以实现所谓的多继承,可一个只有方法名,没有方法体的东西,我实现它又有什么用呢?我从它那什么也得不到,除了一些方法名,我直接在具体类里加入这些方法不就行了吗?为什么一定要有抽象类这个概念?为什么就不能把这个父类

2014-04-30 16:14:30 602 1

原创 java四大特性理解(封装继承多态抽象)

封装:封装是把过程和数据包围起来,对数据的访问只能通过已定义的接口。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。封装是一种信息隐藏技术,在java中通过关键字private实现封装。什么是封装?封装把对像的所有组成部分组合在一起,封装定义程序如何引用对象的数据,封装实际上使用方法将类的数据隐藏起来,控制用户对

2014-04-30 16:11:56 5989

原创 在成功道路上,你要百败百战

前两年,我碰到一位十多年未见的高中同学。这位同学名校毕业后,一直脚踏实地,眼下已经是名企高管,事业蒸蒸日上。在星巴克,我谈起自己过往的疲惫孤独和颠沛流离。言语间,对他的坚实稳健以及成功事业,那真是化不开的嫉妒啊。结果,同学大怒而去。原来我浪迹天涯的生活,正是他一直想做而不敢做的。我对他的羡慕,反倒被他理解为讽刺,我对自己的不满,反倒被他理解为孔雀炫耀自己的尾巴。围城,无处不在啊。失败,并不

2014-04-29 23:57:22 526

原创 职场观察:高薪需要什么?

新的一年,看到别人跳槽或涨薪,你是否也蠢蠢欲动。怎样拿到高薪?不知你是否想过。勤恳的埋头苦干抑或过硬的技术实力或者出色的沟通能力,你认为是什么起主要决定因素?      在这个变化的年代,我们的方向在哪里?请看IT人的成长故事。      王超是我的朋友,来京四年整。最初在一家民企做LINUX运维工程师,月薪5000。工作很认真,埋头苦干型,每天工作时间

2014-04-29 23:53:52 529

原创 jBPM4工作流应用开发指南

首先十分感谢作者给我这个机会在他的作品即将问世之前做一些感想,也正好让我能在忙碌中抽空回顾一下这么多年在技术平台方面走过的路以及在Workflow方面的点点滴滴。因为本书是介绍jBPM的专业书籍,所以我谈不上给些什么评论,只是将对作者的印象和对书中内容引发的一些思考和回味分享给大家。首先就要从我跟作者如何相识的初次合作谈起了。记得那应该是2005年,我们经历了两年多搭建面向ERP项目的研发平台

2014-04-29 21:38:21 701

原创 WebService技术简介

今天继续阅读《.Net 大局观》时看到一段关于WebService支持技术的论述,真是简明扼要:Web services的另一个重要应用是B2B整合,一般来说它也依赖Internet,将运行于不同企业组织中的软件连接起来。迄今为止,连接两个不同公司的应用程序,通常需要使用专门而特别的方法。为什么不采用一种更标准的方式呢?Web sevices是一种直截了当、唾手可得的技术,可以解决这个问题

2014-04-29 21:34:32 1024

原创 JAVA堆栈的区别

1. 栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。             2. 栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。另外,栈数据可以共享,详见第3点。堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编

2014-04-29 18:20:41 522

原创 项目经验-国家电网

项目名称: 国家电力监测中心设备资源管理系统开发环境:Windows7  J2EE1.6     jdk1.6,   Tomcat6.06开发工具:MyEclipse/Eclipse  Mysql   SQLyog  Dreamweaver  Uedit32运行环境:windows系统技术实现:SSH框架、JPA、JavaScript、Servlet、Ajax、JQuery  

2014-04-28 01:16:54 9497

翻译 OO开发思想:面向对象的开发方法(Object oriented,OO)

面向对象的开发方法(Object oriented,OO)认为是好文章吧,拿来分享一下(转载)面向对象的开发方法(Object oriented,OO)    从事软件开发的工程 师们常常有这样 的体会:在软件开发过程中,使用者会不断地提出各种更改要求,即使在软件投入使用后,也常常需要对其做出修改,在用结构化开发的程序中,这种修改往往是很 困难的,而且还会因为计划或考虑不周

2014-04-27 19:22:41 1483

原创 软件开发过程与思想

计算机软件尤其是数据库软件,成为了当代计算机应用的主流。因此软件开发人员就必须掌握正确的开发手段,了解软件开发的主要过程,这样心中对软件项目才有清醒的认识,才能达到事半功倍的效果。本文就软件开发过程中的一些方法,结合本人开发过的一些软件项目做一些详细论述。1 开发前的准备工作一般软件项目在开发前都有系统任务书,主要规定软件的开发目标、主要任务、功能、性能指标及研制人员和经费、进度等

2014-04-27 19:20:59 725

原创 分层开发思想

首先,谈一下什么是三层架构,所谓的三层开发就是将整个业务应用划分为表示层-业务逻辑层―数据访问层-数据库等,有的还要细一些,明确地将客户端的表示层、业务逻辑访问、和数据访问及数据库访问划分出来,十分有利于系统的开发,维护、部署和扩展。软件要分层,其实总结一句话,是为了实现“高内聚、低耦合”。采用“分而治之”的思想,把问题划分开来各个解决,易于控制,易于延展,易于分配资源。 这种三层结构有什

2014-04-27 19:20:12 1068

原创 极限开发与敏捷开发

简介        2001年,为了解决许多公司的软件团队陷入不断增长的过程泥潭,一批业界专家一起概括出了一些可以让软件开发团队具有快速工作、响应变化能力的价值 观和原则,他们称自己为敏捷联盟。敏捷开发过程的方法很多,主要有:SCRUM,Crystal,特征驱动软件开发(Feature       Driven Development,简称FDD),自适应软件开发(Adaptive Softw

2014-04-27 19:19:21 2544

原创 敏捷软件开发-极限编程

极限编程(Extreme Programming,XP)是一门针对业务和软件开发的规则,它的作用在于将两者的力量集中在共同的、可以达到的目标上。它是以符合客户需要的软件为目标而产生的一种方法论,XP使开发者能够更有效的响应客户的需求变化,哪怕是在软件生命周期的后期。它强调,软件开发是人与人合作进行的过程,因此成功的软件开发过程应该充分利用人的优势,而弱化人的缺点,突出了人在软件开发过程中的作用。极

2014-04-27 19:18:01 625

原创 极限编程与敏捷开发

极限编程与敏捷开发   在按照我的理解方式审查了软件开发的生命周期后,我得出一个结论:实际上满足工程设计标准的惟一软件文档,就是源代码清单。-- Jack Reeves简介    2001年,为了解决许多公司的软件团队陷入不断增长的过程泥潭,一批业界专家一起概括出了一些可以让软件开发团队具有快速工作、响应变化能力的价值观和原则,他们称自己为敏捷联盟。敏捷开发过程的方法很多,

2014-04-27 19:17:00 562

转载 我的2013年电话订票技巧实践总结

每年年底,远在异乡的同学都会经历订票难得问题,这两年开通了电话订票系统,但是电话总是打不进。之前都是放弃了打电话这条路,直接从网上购买。今年好像很有空,没事就打订票电话,还给我总结出了几点电话订票的技巧,以及购买火车票的技巧。1、首先当然是要知道订票电话的号码,在正式开始订票之前需要准备好身份证号码,笔和纸(记录取票密码)。2、电话最好是铁通的电话,比较容易打通一些。3、为了更好的订到

2014-04-27 19:14:18 577

转载 MVC3 项目总结

验证 Validation多样化验证规则 http://www.cnblogs.com/xling/archive/2012/07/11/2587002.html最常见的验证方式是:在实体的属性上加 特性(Attribute) 的方式来完成基本的数据验证. 比如 Required, StringLength, Range 等. 为了保持实体类的POCO ( Plain Ol

2014-04-27 19:12:25 687

翻译 项目总结,

做完了这个项目,确实挺有感触的,一方面是在做这个项目的时候,把以前学过的知识都用了一遍,不但加深了对知识的理解与运用,也增加了自己的自信心,让自己感觉到一个项目并不像想象中那么难,是可以做出来了,这是我以前没有感觉到的,这次的项目虽然不是什么大的工程,但它却实让我感觉到,只要努力去做,一定可以成功。另一方面就是能过做这个项目,感觉到自己的确有很多的不足,有知识上的不足也有思想上的不足,主要还是思想

2014-04-27 19:10:07 658

原创 oa项目总结

在2004.3~2005.5 这1年半的时间了我参与了两个OA项目的开发,主要人员是一个项目经理和我。在这段时间学到了不少东西,其中也遇到了不少困难。现在总结一下。1。权限问题:在OA项目了所用的权限系统是控制在树形结构里的节点上(即某个人或组对此节点或节点下的资源是否有(访问,操作)权限,用XML保存)。到了后来的审批流设计(OA的一个比较核心工作模块)中,发现某些关键文档的权限必须加以

2014-04-27 19:05:53 3854

转载 项目总结。。。

项目总结这几天做完了一个中型的项目,学到了许多的东西。在做项目的时候遇到问题时都是上csdn看帖子,我想我遇到的问题别人肯定也会碰到,应该说大部分的问题都可以在csdn上找到答案。所以我在csdn学到了很多的知识,谢谢大家!做项目时想,等我做完项目时就总结一些经验,让后来者学习和借鉴或说不再重复我犯的错误,所以就写了这一篇文章,希望对大家有用!最大的感触就是,csdn上经常有人

2014-04-27 19:04:53 2738

翻译 Delphi 项目总结

Delphi 项目总结    随着项目的失败,这些天一直在总结失败的原因,到底是为什么?    一、技术层面        1、少用指针类型,多用类。            虽然指针类型能有效的节约内存和加快运行速度,但指针远没有类来得稳定及易用。在日常使用中,往往指针对应的是record类型,例如            1  PDataColu

2014-04-27 19:03:31 592

转载 项目总结

项目:代理商注册系统...  采用三层架构...用vs2005+ms2005开发。  数据比较简单..建二个表,agentinformation和unauditedagentinformation,分别存放已经审核通过的用户和未审核的用户数据。本项目中值得总结的地方有:1. 序列化存储数据。    对于未审核的用户数据,先将数据序列化然后存入。所以unauditedag

2014-04-27 19:02:56 612

转载 PBCS项目总结

PBCS项目已经成功地Product,终于可以缓解一下紧张的心情,最近连续四五个月紧张地工作,头都要大了。如今比较清闲,是时候总结一下整个项目了。(古人云:成功在于总结嘛)整个项目是二个人开发的,由于性格方面的原因,我和另一名程序员在沟通上不是很顺畅,还发生了口角。^_^,没办法,都是年轻人,都喜欢争强好胜,过去了,大家也就没事了。先从自个方面评个分吧:项目规划上:==

2014-04-27 19:01:43 705

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除