`
ysen
  • 浏览: 122457 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表

OOD原则

单一职责原则(SRP) 就一个类而言,应该仅有一个引起它变化的原因。   开放-封闭原则(OCP) 软件实体(类、模块、函数等等)应该是可以扩展的,但是不可修改的。   1、  对于扩展是开放的 这意味着模块的行为是可以扩展的。当应用的需求改变时,我们可以对模块进行扩展,使其具有满足那些改变的新行为。
GRASP(General Responsibility Assignment Software Patterns) 创建者(Creator) 问题:谁创建了A? 解决方案:如果以下条件之一为真时(越多越好),将创建类A实例的职责分配给B: l  B“包含”或组成聚合了A l  B记录A l 
协议都是双方统一的 java端定义的报文       package cn.com.henan.socket; import java.util.Calendar; //此类试图将所有的通讯协议的编解码都包含在内!按照一次交互的过程来区分 public class newsDetail implements InewsDetail { protected int netErr; //用来表示是不是网络出错了,主要是超时。这个时候就不需要检查其他参数了。 protected int type; //就是对应具体的操作类型码 protected b ...
一ejb 服务端 基于ejb容器 ,客户端src下需要配置jndi配置文件   *实体对象     @Entity public class Person implements Serializable { public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name ...
  这里使用的是Jax ws 框架   一首先建立webservice 的服务端 new -> webservice project  ,Framework 选中 JAX-WS 然后 在build path中 MyEclipse Libraries 中选择 Jax-ws 2.x 两个jar包文件   下面就是建立测试实体类   public class Jaxwebservice { public String m(){ String s ="hello"; return s; } }   现在就需要建Ja ...
 基于EJB的webservice 很少使用,因为使用这种方式需要EJB容器,一般直接在建立web service project 工程     public interface EjbWebService { public void addUser(String x ); }         import javax.ejb.Stateless; import javax.jws.WebMethod; import javax.jws.WebService; @Stateless @WebService public class EjbWebSe ...
服务端定义了两个消费者   @MessageDriven(activationConfig={ @ActivationConfigProperty(propertyName="destinationType",propertyValue="javax.jms.Topic"), @ActivationConfigProperty(propertyName="destination",propertyValue="topic/myTopic") } ) public class TopicMessa ...
消息中间件一般有两种传递模型:点对点模型(PTP)和发布-订阅模型(Pub/Sub)。   1. 点对点模型(PTP)   点对点模型用于消息生产者和消息消费者之间点到点的通信。消息生产者将消息发动到由某个名字标识的特定消费者。这个名字实际上对应于消息服务中的一个队列(Queue),在消息传动给消费者之前它被存储在这个队列中。队列可以是持久的,以保证在消息服务出现故障时仍然能够传递消息。         P2P模式的测试   在jboss中部署下面的 消息驱动bean   import javax.ejb.ActivationConfigProperty; import ...
  从客户端 将用户对象添加到 ejb 服务器上   User 对象需要序列化 ,实现 Serializable接口 public class User implements Serializable{ private int id ; private String name; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } ...
ejb @Stateful注解表明该session bean 为有状态对象 就是,每次通告jndi 查找的时候生成新的对象 ejb @Stateless 注解表明被注解 session bean 为无状态对象 ,类似singleton 单例对象  因为Stateful对象的需要令牌维持客户端和该对象间的通讯,所以性能方面不如Stateless   业务对象一般采用单例session对象,所以一般采用Stateless 对象;   定义接口 public interface Ejb02 { public int getResult(); }     业务接口 ...
          Ejb 的首次搭建及向外发布接口   一环境搭建   *jboss jems-installer-1.2.0.GA(jboss安装文件 ,jboss包含了 web容器与ejb的容器)   *jdk选择1.5, 之前用的1.6有点问题后来选用了jdk1.5   *设置变量值 定义环境变量JAVA_HOME  变量值D:\java\Java\jdk1.5.0_06(JDK的安装路径),之前jdk的安装路径是D:\Program Files\Java\jdk1.5.0_06,因为 jems-installer-1.2.0.GA安装对Program Files文 ...
         网上找了好久都没有一个完整的关于mysqldump的备份说明。 在此我将详细说明备份流程。 1,mysqldump工具是mysql自带的一个非常方便的一款小工具,存在mysql安装目录的D:\Program Files\MySQL\MySQL Server 5.1\bin下。   2,mysqldump 和 mysql一样.都是应用程序 你在mysql下是执行不了的.切记 ,可以在cmd里面输入mysqldump --help 如果不能显示的话就在环境变量里的path里面加入变量值D:\Program Files\MySQL\MySQL Server 5.1\bin; ...
今天心情不好,给大家分享下extjs做的进销存系统happy下   也是one page  one application 系统   废话不多说先贴部分代码,然后需要的话自己下载包    如果反馈不错的话在发个移动的也是用extjs做的  左边的树是静态的添加的 var root=new Ext.tree.TreeNode({ text:'物品属性管理', expanded: true }); var root1=new Ext.tree.TreeNode({ text:'物品属性管理', expanded: true ...
instanceof 针对实例 isAssignableFrom针对class对象   isAssignableFrom   是用来判断一个类Class1和另一个类Class2是否相同或是另一个类的超类或接口。     通常调用格式是           Class1.isAssignableFrom(Class2)     调用者和参数都是   java.lang.Class   类型。           而   instanceof   是用来判断一个对象实例是否是一个类或接口的或其子类子接口的实例。       格式是:   oo   instanceof   TypeName   ...
当需要排序的集合或数组不是单纯的数字型时,通常可以使用Comparator或Comparable,以简单的方式实现对象排序或自定义排序。 一、Comparator 强行对某个对象collection进行整体排序的比较函数,可以将Comparator传递给Collections.sort或Arrays.sort。 接口方法: /** *//** 2 * @return o1小于、等于或大于o2,分别返回负整数、零或正整数。 3 */ 4 int compare(Object o1, Object o2);   案例: import java.util.Arrays; ...
Global site tag (gtag.js) - Google Analytics